spring-mvcspring-dataspring-data-restspring-restcontroller

Difference between @RestController and @RepositoryRestController


What is the typical use case code that shows the difference between those two annotations - meaning the @RestController and the @RepositoryRestController - ?


Solution

  • According to the annotation the RepositoryRestController is a way to provide custom controllers that still take advantage of Spring Data REST functionality.

    Spring Data REST Reference Guide, Overriding Spring Data REST Response Handlers:

    Sometimes you may want to write a custom handler for a specific resource. To take advantage of Spring Data REST’s settings, message converters, exception handling, and more, use the @RepositoryRestController annotation instead of a standard Spring MVC @Controller or @RestController.

    Most importantly the RepositoryRestController is aware of the Spring Data REST base path and will be served under this base path.