2016-07-28 10 views
6

Ich habe eine Rails 5 App mit ActionCable und Devise Juwel auf Heroku mit 15K Benutzern gehostet. Viele Benutzer haben vorgeschlagen, eine mobile App für die Website zu veröffentlichen. Ich möchte zunächst eine grundlegende mobile App für die Website erstellen.Wie erstellt man eine REST-API für eine vorhandene Ruby on Rails 5-Anwendung?

Wenn ich google, alles, was ich bekomme ist API nur Leitfaden. Gibt es Tutorials, Bücher oder Ressourcen, die zeigen, wie eine REST-API für eine vorhandene Rails-App erstellt wird?

Kann jemand freundlich auf, wie man das tut? Wie authentifiziere ich Benutzer? Wie verwende ich den Echtzeit-Chat? Sollte ich irgendein Juwel benutzen? Teilen Sie mir bitte mit, wie Sie anfangen und welche Best Practices. Danke

+0

Sie können normale Controller erstellen, aber nur json oder ein anderes Format als html zurückgeben. Eh ist das Problem dann? –

+0

Diese Frage für http://stackoverflow.com/documentation –

Antwort

3

Sie könnten grape Edelstein verwenden. Überprüfen Sie seine Rails integration section.

Da Sie bereits einige Routen eingerichtet haben, wählen Sie einfach einen nicht verwendeten Stammpfad für Ihre API und dort montieren:

mount Twitter::API => '/api' 
2

Gibt es irgendwelche Tutorials oder Bücher oder jede Ressource, die zeigen, wie man eine REST-API für eine vorhandene Rails-App erstellen?

Ja. Diese ist sehr hilfreich. Er geht durch, wie man die grundlegenden Teile einer erholsamen API für eine bereits funktionierende (wenn auch sehr einfache) Rails App aufstellt.

Es ist ein paar Jahre alt, aber sollte noch arbeiten für Rails 5.

0

Ich würde Ihnen empfehlen, der für die JSON Antworten zu beginnen, in Rails Sie alles, was Sie haben eine Web-Anwendung erstellen müssen und eine API mit die gleichen Controller. Sie müssen mit 'respond_to' für JSON beginnen. Um herumzuspielen, verwenden Sie Scaffold für die Controller-Generation und es wird Ihnen einen Responder für JSON und HTML zur Verfügung stellen.

0

Mai werden Sie activemodel serializers gem verwenden können, ist es Teil der Schienen 5, wenn Sie derzeit nicht Rails 5 api-Modus verwenden, können Sie activemodel serializers Juwel zu Ihrem Gemfile hinzufügen können.

können diese tutorial

-1

für Ruby on Rails 5 wird Ihnen helfen, eine API-App generieren können mit:

$ rails new my_api --api

Sie können auch eine bestehende Anwendung ändern und es eine API machen, mit ein paar kleinen Änderungen in einigen Dateien.

Und für Ihre aktuelle normale Rails App, müssen Sie einfach respond_to für JSON in Ihrem aktuellen Controller hinzufügen. Ex:

def index 
    @tasks = Task.all 
    respond_to :html, :json 
end 

Für die Benutzerauthentifizierung können Sie überprüfen, Devise gem

0

Da Sie eine RESTful-API mit einer vorhandenen Rails-App integrieren möchten, sollten Sie sich auf this guide beziehen.

Es ist eine benutzerfreundlichere Anleitung zur Integration von Grape (wie Nic Nilov erwähnt) mit Ihrer Rails 5-Anwendung. In diesem Handbuch wird davon ausgegangen, dass Sie bereits über eine vorhandene Rails-Anwendung verfügen.

Hoffentlich hilft das!