Closed alefcastelo closed 7 years ago
@alefcastelo no meu projeto eu irei usar a função de versionamento do FOSRestBundle
https://symfony.com/doc/master/bundles/FOSRestBundle/versioning.html
@joubertredrat não conhecia essa opção, muito boa, pra versionar o output da entity eu uso o JMSSerializer, você tem alguma sugestão para os services?
@alefcastelo boa questão. Já vi em alguns casos, principalmente quando vier o Symfony Flex, a possibilidade de usar a versão para separar os Bundles. É claro que tem que ser muito bem pensado e é fácil cair na vulnerabilidade de sair do microserviço.
Uma estratégia seria colocar os serviços em Namespaces Apiv1/Service/Product e Apiv2/Service/Product, ou alguma abordagem desse tipo.
@vinyvicente separar por namespace acho que seria muito complicado manter, pois algumas vezes pequenas mudanças que teriam a necessidade de mudar de versão na minha visão poderia ser uma dor de cabeça manter assim! Porém a abordagem do Symfony Flex que é "parecido" com isso, parece ser interessante pra que uma aplicação monolitica cresça para um microserviço mais facil.
@alefcastelo eu vejo versionamento de rotas API (v1
, v2
) e versionamento de serviços e todo o resto como coisas distintas. Eu posso vir a ter separação no namespace igual nas rotas, mas não vejo justificativa para tal.
@alefcastelo, como falei, sim, existe risco, mas vai virar realidade, é um bom ponto de partida pra um projeto do zero.
show, vlw @joubertredrat @vinyvicente acho que daqui já conseguir extrair algumas respostas!
Achei essa referência que vai ajudar bastante (inclusive com serviços): https://blog.bam.tech/developper-news/make-a-versioned-api-with-symfony
@vinyvicente Excelente link!
Como vocês estão arquitetando suas aplicações para versionar uma API?