I have been looking at various examples of how to use Spring with REST. Our end target is a Spring HATEOAS/HAL
setup
I have seen two distinct methods for rendering REST within Spring
Via @RestController
within a Controller
Via @RepositoryRestResource
within a Repository
The thing I am struggling to find is why would you use one over the other. When trying to implement HAL
which is best?
Our database backend is Neo4j.
Ok, so the short story is that you want to use the @RepositoryRestResource
since this creates a HATEOAS service with Spring JPA.
As you can see here adding this annotation and linking it to your Pojo you have a fully functional HATEOAS service without having to implement the repository method or the REST service methods
If you add the @RestController
then you have to implement each method that you want to expose on your own and also it does not export this to a HATEOAS format.