2012-01-18 10 views

Respuesta

5

Debe consultar esta presentación sobre el diseño de API. Es de Google y es bastante bueno. También trata la compatibilidad con versiones anteriores y las nuevas versiones.

How to Design a Good API and Why it Matters

+0

http://lcsd05.cs.tamu.edu/slides/keynote.pdf << enlace roto :( – kinar

+2

y aún así roto, ¿quizás este es el indicado? Http://static.googleusercontent.com/media/research. google.com/en//pubs/archive/32713.pdf – user180574

+0

El enlace está roto. – Salar

6

mantener ambos funcionando, con la versión en la url. api.mysite.com/[version]/api/url/here. Notifique a los usuarios cuando llegue una nueva versión de la API y elimine la versión anterior después de un tiempo. Ya sea cuando ya no se usa, o como 6 meses, asegurando que los usuarios tuvieron suficiente tiempo para cambiarlo.

O póngalo en funcionamiento para siempre, pero no entregue ninguna funcionalidad nueva para él.

+1

Ese es básicamente el enfoque que he utilizado en múltiples proyectos. Otro patrón que he visto muy a menudo es hacer que 'api.example.com /' señale la última versión de la API: observe la falta de un número de versión. Los clientes que no desean lo último y lo mejor pueden acceder al URL versionado: 'api.example.com/v1 /' – Anurag

+0

. Existe alguna discusión sobre si aún puede llamarlo una APLICACIÓN REST si incluye el control de versiones en el esquema de URL. . ver http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven o http://thereisnorightway.blogspot.com/2011/02/versioning-and-types-in-resthttp -api.html –

+0

Gracias. Estos son más para versionar las API y su implementación. Me interesa saber si hay alguna guía sobre cómo exponer las API, qué sucede si el esquema de datos cambia (elimina/modifica algunos tipos de datos que están expuestos a través de la API, etc.) – Sampat

3

La mejor manera de hacer esto para que la interfaz de edad o clase en la nueva versión con nueva interfaz y las clases y los marcados como obsoletos (los medios se eliminará en futuras versiones).

El diseñador de la API Hear tiene en cuenta la diferencia entre la interfaz pública y la interfaz publicada.

Cuestiones relacionadas