2016-07-07 5 views
1

Hallo Leute, was der beste Weg sein wird, eine Methode im Controller hinzuzufügen, die als api zur Verwendung durch eine andere Anwendung (nur eine) zur Aktualisierung einiger Spalten ausgesetzt werden soll in der Datenbank? Ich will nicht eine phantastische API mit Versionierung und alle bauen, es wird einfach eine Methode in Controller als API-Antwort mit JSON-Daten ausgesetzt sein. Wie soll ich darüber hinaus gehen?Schienen 4: Aufbau einer super einfachen API-Methode und Sicherung

Tech-Stack: rails 4, json

Antwort

1

Die einfachste und einfachste Möglichkeit, eine API-Methode zu sichern, ist HTTP Basic Auth.

Nur eine Zeile oben auf dem Controller hinzufügen:

class MyController < ApplicationController 
    http_basic_authenticate_with name: "admin", password: "password" 

    def update_columns 
    ... 
    end 
end 

Dann vergessen Sie nicht, diese Namen und das Kennwort API-Aufruf params in der anderen Anwendung hinzuzufügen.

PS. Wenn Sie Rails im Light-API-Modus verwenden, müssen Sie auch dieses Modul in Ihren Controller einbinden:

+0

das hat funktioniert! Vielen Dank! –

-1

Sie können Umfang in Ihren Routen hinzufügen und diese Controller-Methode in Anforderung wie

scope '/api' do 
    resources :chattings,only: [:create,:index,:show,:destroy] do 
     collection do 
     get 'recent' 
     end 
    end 
    end 

und für Sicherheit speichern api_secret in der Datenbank hinzufügen, die Zeit von signin erzeugen und sicher Jede API mit diesem api_secret in Kopfzeilen