La mejor opción:
Es probablemente mejor mantener el control de versiones de la URL y hacer que los nuevos recursos compatible con la edad.
Compatible:
Si debe mantener el v1 en la URL, y están haciendo URL v2, entonces usted tiene que decidir si desea apoyar ambos formatos, o hacer que el obsoleto v1. Si decide dejar obsoleta la antigua v1, le recomendaría devolver 303 o 401 para cualquier persona que solicite una URL v1.
Haciendo viejos obsoletos URL:
Yo recomiendo usar 303 Ver Otros. O si no hay una redirección asociada, entonces use 410 Gone.
Source
303 Ver Otros
La respuesta a la solicitud puede ser encuentra bajo una URI diferente y debe ser recuperada utilizando un método GET en ese recurso. Este método existe principalmente para permitir la salida de una secuencia de comandos POST-activated para redirigir el agente de usuario a un recurso seleccionado. El nuevo URI no es una referencia sustituta para el recurso solicitado originalmente. La respuesta 303 NO DEBE almacenarse en caché, , pero la respuesta a la segunda solicitud (redireccionada) puede ser almacenable en caché.
Los diferentes URI DEBERÍAN darse por el campo Ubicación en la respuesta. A menos que el método de solicitud fuera HEAD, , la entidad de la respuesta DEBERÍA contener una breve nota de hipertexto con un hipervínculo al URI (s) nuevo (s).
Nota: Muchos pre-HTTP/1.1 agente de usuario no entiende el estado 303 . Cuando la interoperabilidad con este tipo de clientes es una preocupación, el código de estado 302 se puede utilizar en su lugar, ya que la mayoría agentes de usuario reaccionan a una respuesta 302 como se describe aquí por 303.
Documento todo:
Lo principal de lo que debe preocuparse es lo que sea que elija devolver, solo documéntelo en su documentación. Puede decidir cómo quiere que su servicio funcione, otros que quieran consumirlo seguirán la documentación.
Por lo que vale la pena, me parece el post de Darrel (en una cuestión aparte) para ser esclarecedor: http://stackoverflow.com/questions/972226/how-to-version-rest-uris/975394 # 975394 – Gili
¿Posible duplicado de [Mejores prácticas para versiones de API?] (https://stackoverflow.com/questions/389169/best-practices-for-api -versioning) – Helen