API REST de versão
Depois de ler um monte de material sobre o controle de versão REST, estou pensando em versionar as chamadas em vez da API. Por exemplo:
http://api.mydomain.com/callfoo/v2.0/param1/param2/param3
http://api.mydomain.com/verifyfoo/v1.0/param1/param2
em vez de primeiro ter
http://api.mydomain.com/v1.0/callfoo/param1/param2
http://api.mydomain.com/v1.0/verifyfoo/param1/param2
então indo para
http://api.mydomain.com/v2.0/callfoo/param1/param2/param3
http://api.mydomain.com/v2.0/verifyfoo/param1/param2
A vantagem que vejo são:
Quando as chamadas mudam, não preciso reescrever todo o meu cliente - apenas as partes afetadas pelas chamadas alteradas.As partes do cliente que funcionam bem podem continuar como estão (temos muitas horas de teste investidas para garantir que tanto o lado cliente quanto o lado dos servidores estejam estáveis).Posso usar redirecionamentos permanentes ou não permanentes para chamadas que foram alteradas.Compatibilidade retroativa seria uma brisa, pois posso deixar as versões mais antigas de chamadas como estão.Estou perdendo alguma coisa? Por favor informar.