DEV Community

Discussion on: Please explain, what is HATEOAS?

Collapse
 
rhymes profile image
rhymes

Designing APIs well is hard, no matter if you use REST, GraphQL or anything else.

A good question you should ask yourself is how your clients are going to consume the API, or how would you like them to. Once you have a good knowledge of the pros and cons of the various approaches and have a talk with your team you'll probably know if you need one, or the other, or both.

An approach I'd like to try someday is "Design-fist API" in which you start writing the specs before you start and then you have a bunch of tools to mostly generate the API for you. It sounds a bit like UML but it's a bit better.

There are A LOT of concepts around designing APIs. I think already reaching level 2 of the maturity model with a clean "RESTish" API is a decent goal to start. You can still add HATEAOS on top of it.

Or you can choose GraphQL and go an a different route :D