2016-04-29 16 views
-2

Ich möchte ein Ruby API für Login-Seite mit Ruby auf Schienen Backend in Android Mobile-Anwendung zu implementieren, Wie ich neu hier bin bitte hilf mir, meine Aufgabe zu vervollständigen, und bitte sagen die Weise, eine API zu implementieren Danke im VorausRubin auf Schienen Rest api mit Rubin für Login-Seite

+0

Es ist ja nicht so. Posten Sie, was Sie bisher getan haben. Veröffentlichen Sie Ihre Ideen zur Aufgabe. Hilf uns, dir zu helfen. –

+1

Ich folgte diesem (https://www.airpair.com/ruby-on-rails/posts/building-a-restful-api-in-rails-application) Link, um api in Rubinsprache zu erstellen – Jass

+1

this (https : //www.airpair.com/ruby-on-rails/posts/building-a-restful-api-in-rails-application) Link enthält nur eine Idee über Controller, ich bekomme keine Informationen über die Ansichten und Datenbank – Jass

Antwort

3

Erstens gibt es keinen Punkt zu setzen -ve markieren Sie diese Frage, er ist neu in Rubin, können wir ihm helfen.

Schritt 1: Um eine API zu erstellen, müssen Sie mit Controllern und Modellen umgehen, es gibt keine Ansicht für eine API.

Schritt 2: Da Sie neu in Schienen sind lesen Sie über Schienen Routing, lassen Sie mich Ihnen eine kurze Idee geben, der Router einfach entscheiden, ob eine Anfrage auf einer URL kommt welcher Controller und welche Aktion auslösen sollte.

Schritt 3: Sobald Ihre Aktion in der Steuerung Trigger ist schreiben Sie Ihre Logik ihre oder rufen Sie eine Methode in einem Modell.

Schritt 4: Nachdem Sie den CRUD-Vorgang vom Modell ausgeführt haben, geben Sie die Antwort an den Controller zurück.

Schritt 5: Je nach Wetterformat möchte der Client xml oder json in xml/json codieren und vom Controller rendern.

dats :) es hoffen, dass es Ihnen

+0

danke @ashwini, jetzt habe ich eine Idee ... und natürlich ist meine Anwendung API richtig, wie Sie mir über Routing und Controller erzählt haben. – Jass

1

hilft Ich will nicht die großen Denker zitieren, aber die Antwort ist: Es hängt davon ab!

können Sie entweder gehen sie einfach und BASIC-Authentifizierung für Ihre Anwendung verwenden, oder Sie können die mehr Komplex Straße mit anderen Technologien, wie JWT (Json Web Token) oder OAuth oder Dingsbums gehen ...

Ich gehe davon aus, dass Sie gerade mit der Webentwicklung beginnen, also würde ich vorschlagen, dass Sie einfach mit BASIC AUTH starten (über einige HTTPS-Verbindungen).

für die Schienen trennen Sie umfassen nur die folgende Anweisung in der Steuerung Sie geschützt werden sollen:

http_basic_authenticate_with name: "username", password: "secret", except: :index 

So eine einfache Steuerung würde wie folgt aussehen:

class PostsController < ApplicationController 
    http_basic_authenticate_with name: "dhh", password: "secret", except: :index 

    def index 
    render plain: "Everyone can see me!" 
    end 

    def edit 
    render plain: "I'm only accessible if you know the password" 
    end 
end 

Dieses Beispiel direkt aus kopiert wird hier: http://api.rubyonrails.org/classes/ActionController/HttpAuthentication/Basic.html

Auf der Clientseite müssen Sie die grundlegenden Authentifizierungsinformationen in der HTTP-Header wie folgt aus:

"Authorization: Basic dXNlcm5hbWU6c2VjcmV0" 

BASE64 mit Benutzername und Passwort wie folgt zu kodieren (in JavaScript):

encoded = btoa(username + ":" + password); 

Die Grundlagen sind hier abgedeckt: https://en.wikipedia.org/wiki/Basic_access_authentication

Von dort können Sie gehen und einen einfachen Benutzernamen/Passwort-Bildschirm implementieren und den so erzeugten Header in allen nachfolgenden Aufrufen bereitstellen.

Ich hoffe, das bringt Sie in die richtige Richtung. Scheuen Sie sich nicht zu fragen und weiter zu lernen!

Schließlich möchten Sie vielleicht zu anspruchsvolleren Zugriffstoken-basierten Authentifizierungsmethoden übergehen.

Mit freundlichen Grüßen, Steviee