2012-04-23 22 views
19

¿Qué es lo que utilizan los niños geniales para analizar, generar y publicar fácilmente las API REST? Eché un vistazo al Swagger y se ve bien, pero desde mi punto de vista no encaja bien con Ruby. Tal vez estoy equivocado y me falta algo, la ayuda sería apreciada.Generar y publicar la documentación REST de API de REST basada en Ruby

+1

Parece genial, pero también parece que requiere mucho trabajo configurar –

+0

Exactamente, se ve increíble pero tiene un montón de dependencias que me gustaría evitar. – jpemberthy

Respuesta

14

¿Parece que todavía no tienes una API? Si ese es el caso, este es el enfoque que recomiendo.

  • crear una interfaz para la API mediante el uso de la swagger-specification. Puede hacerlo sin usar un servidor, see here.

  • Verifique la interfaz utilizando swagger-ui. Esto le permite ver todos los puntos finales que haya definido (aún, sin codificación, excepto para los archivos json)

  • Una vez que tenga la interfaz que desea, use swagger-codegen para compilar una versión apagada de su servidor. Actualmente hay plantillas para nodejs y scalatra con más en el camino. Hacer un nuevo generador de servidores es simplemente una cuestión de crear/modificar algunas plantillas de bigote.

  • También puede generar su cliente con swagger-codegen.

Lo bueno de esto es que puedes hacer un desarrollo basado en interfaces de tu API. Construya las interfaces y complete los espacios en blanco. La fontanería está hecha para ti.

+1

Prototype Ruby Support ya está disponible (¡tenga en cuenta que los cambios vendrán para hacer más ruby-ish): https: // github .com/wordnik/swagger-codegen/tree/master/samples/server-generator/sinatra – fehguy

6

Swagger se puede utilizar con el rubí como cliente para generar automáticamente las bibliotecas de cliente de un servidor compatible con Swagger https://github.com/wordnik/swagger-codegen

Si utiliza RoR de lo que creo que debería mirar https://github.com/elc/rapi_doc, pero no es fácil de usar.

+0

Hola, gracias por tu respuesta, bueno, creo que voy a intentar con 'rapi_doc'. No se ve tan sexy como Swagger, pero al menos su configuración es mucho más simple. – jpemberthy

+1

Ese enlace rapi_doc está roto. Lo encontré bifurcado en varios lugares, por ejemplo https://github.com/phuc/rapi_doc Parece que en realidad no se ha mantenido desde 2008 aunque –

8

Acabamos de empezar a jugar con apipie para esto. Hasta ahora parece bastante ordenado.

+0

Gracias, parece prometedor, lo tendré en cuenta para un futuro proyecto. Ya usé swagger para la aplicación de la que hablaba cuando publiqué la pregunta. – jpemberthy