2012-04-23 14 views
19

Quali sono i ragazzi fantastici che utilizzano oggigiorno per analizzare/generare/pubblicare facilmente API REST? Ho dato un'occhiata a Swagger e sembra bello ma dal mio punto di vista non si adatta bene a Ruby. Forse ho sbagliato e mi manca qualcosa, l'aiuto sarebbe apprezzato.Generazione e pubblicazione documentazione API REST basata su Ruby

+1

Sembra fantastico, ma sembra anche che sia necessario molto lavoro per impostare –

+0

Esattamente, sembra fantastico ma ha un sacco di dipendenze che vorrei evitare. – jpemberthy

risposta

14

Sembra che tu non abbia ancora un'API? Se questo è il caso, questo è l'approccio che consiglio.

  • Crea un interfaccia per l'API utilizzando il swagger-specification. È possibile farlo senza utilizzare un server, see here.

  • Verificare l'interfaccia utilizzando swagger-ui. Questo ti permette di vedere tutti gli endpoint che hai definito (ancora, senza codifica, fatta eccezione per i file JSON!)

  • Una volta che si dispone di un'interfaccia che si desidera, utilizzare swagger-codegen di costruire una versione spense-out del vostro server. Ci sono attualmente modelli per nodejs e scalatra con altri in arrivo. Creare un nuovo generatore di server è semplicemente una questione di creazione/modifica di alcuni modelli di baffi.

  • È inoltre possibile generare il client con swagger-codegen.

La bellezza di questo è che è possibile eseguire lo sviluppo dell'interfaccia della propria API. Costruisci le interfacce e riempi gli spazi vuoti. L'impianto idraulico è fatto per te.

+1

Il supporto del rubino di Prototype è ora disponibile (nota: i cambiamenti arriveranno a rendere più ruby-ish): https: // github .com/wordnik/swagger-codegen/tree/master/samples/server-generator/sinatra – fehguy

6

Swagger può essere utilizzato con rubino come client per generare automaticamente librerie client da un server Swagger conforme https://github.com/wordnik/swagger-codegen

Se si utilizza RoR di quanto penso che si dovrebbe guardare https://github.com/elc/rapi_doc, ma non è facile da usare.

+0

Hey, grazie per la tua risposta, beh, penso che proverò a 'rapi_doc'. Non sembra sexy come Swagger, ma almeno la sua configurazione è molto più semplice. – jpemberthy

+1

Quel collegamento rapi_doc è rotto. L'ho trovato biforcuto in vari luoghi, ad es. https://github.com/phuc/rapi_doc Sembra che non sia stato effettivamente mantenuto dal 2008 anche se –

8

Abbiamo appena iniziato a giocare con apipie per questo. Finora sembra abbastanza carino.

+0

Grazie, sembra promettente che terrò a mente per un progetto futuro. Sto già usando lo swagger per l'app di cui stavo parlando quando ho postato la domanda. – jpemberthy