Olá, Pamela! Tudo bem?
Espero que você esteja gostando do curso e aprendendo bastante.
A classe ClientHttpConfiguration
que você encontrou no curso não equivale a um controller no Spring. No contexto do Spring, um controller é responsável por lidar com as requisições HTTP recebidas pela aplicação, geralmente mapeando URLs para métodos que processam essas requisições e retornam respostas.
Por outro lado, a ClientHttpConfiguration
no exemplo do curso é usada para isolar e centralizar a lógica de disparar requisições HTTP (GET e POST) para outras APIs, o que é uma prática comum para manter o código organizado e aderente ao princípio da responsabilidade única do SOLID. Essa classe não lida com requisições recebidas, mas sim com requisições que a aplicação faz para outros serviços.
Quanto à nomenclatura do padrão de projeto, o que você está vendo é uma aplicação do princípio da responsabilidade única, que é parte dos princípios SOLID. A ideia é que cada classe tenha uma única responsabilidade ou motivo para mudar.
No caso, a ClientHttpConfiguration
tem a responsabilidade de gerenciar as requisições HTTP, enquanto AbrigoService
e PetService
cuidam de suas respectivas lógicas de negócio, sendo considerada mais como um package Service
, de maneira geral.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.