Características e discussões sobre o HATEOAS
Uma API só pode ser considerada RESTfull, caso a mesma implemente HATEOAS. Isso é o que define Roy Fielding, dentre outros pesquisadores.
O HATEOAS confere a uma API o nível máximo de maturidade (Glória do REST)
Na prática, o mercado ainda está em um nível de maturidade um pouco menor. A maioria das APIs que nós vamos encontrar, não utilizam HATEOAS. E está tudo certo!
Quando utilizar e quando não utilizar HATEOAS, depende...
Necessário avaliar a relação custo/benefício para cada projeto
Para implementar o HATEOAS nas nossas APIs vamos usar o Spring HATEOAS (https://spring.io/projects/spring-hateoas)
Atualizado