Há diferença entre utilizar a anotação @RestController e @Controller na construção de uma API REST?
Há diferença entre utilizar a anotação @RestController e @Controller na construção de uma API REST?
Fala Leonardo, tudo bem?
A anotação @RestController indica para o framework que se trata de um controlador Rest, voltado para o desenvolvimento de aplicações web Restful e facilita que nós lidemos com requisições web (POST, GET, PUT, etc) pois une o Controller a um ResponseBody para todos métodos marcados pelo RequestMapping. Já a anotação @Controller apenas marca uma aplicação web MVC tradicional, e torna o trabalho mais complicado ao lidar com aplicações Restful, tendo que configurar mais coisas.
Em geral, a anotação @RestController é uma implementação de Controller voltado para o desenvolvimento de aplicações Restful e por este motivo é recomendada a sua utilização, pois poupa bastante do trabalho manual feito apenas com a anotação @Controller.
Em caso de dúvidas, estou à disposição.
Um grande abraço e bons estudos!
Muito obrigado, Arthur!