Taverna /dev/All

Controller pode chamar Repository diretamente?

Pessoal, atualmente estou trabalhando com Spring Boot, Spring Data e Thymeleaf.

Antigamente eu nunca chamava um repository diretamente de um Controller. Sempre passava por um service primeiramente.

De uns tempos pra cá, decidi diminuir a burocracia e chamar os repository diretamente do controller. Que vocês acham? isso é uma boa prática? Tenho visto cursos bem conceituados ensinando dessa forma.

Obs.: Uma coisa que me incomoda é ter no controller dependências do Spring Data.
Qualquer alteração na API do Spring Data, reflete diretamente nos meus controllers.

Qual tem sido a experiência de vocês com essa abordagem?

Oi Eduardo,

na minha opinião antes de mais nada você deve ser pragmático: se seu controlador só serve para obter dados e fazer alguma transformação simples pra que os retorne a quem chamou, não vejo problema algum.

Entretanto, se envolve qualquer inteligência, vejo que é uma boa você ter isto isolado em um serviço.

Gosto de pensar neste pragmatismo em todos os níveis. Tipo: pra que interface se existe uma única implementação da mesma e você não vai usar mocks ou algo assim?

É questão de bom senso.

2 Curtidas

itexto