Ich habe vor kurzem angefangen, REST-APIs mit Rails zu entwickeln 5. Ich versuche, rohe Benutzeraktionen durch API-Aufrufe zu tun. Ich habe ein Grundgerät für Benutzer eingerichtet.Benutzer Registrierung in Devise durch API
In meinen Routen Ich habe diese:
Rails.application.routes.draw do
devise_for :users, :controllers => {sessions: 'sessions', registrations: 'registrations'}
end
ich zwei separate Controller sessions_controller erstellt und registrations_controller außer Kraft zu setzen Methoden ersinnen und JSON-Format akzeptieren zu machen.
class RegistrationsController < Devise::RegistrationsController
respond_to :json
end
und
class SessionsController < Devise::SessionsController
respond_to :json
end
Ich versuche, in den folgenden Daten eines Benutzers zu registrieren vorbei:
{
user: {
email: [email protected],
password: password,
password_confirmation: password
}
}
ich einen Status erhalten, 200 aber in meinem Schienen Server erhalte ich der folgende Fehler:
Started POST "/users" for 23.233.9.94 at 2016-12-22 08:22:11 +0000
Processing by RegistrationsController#create as */*
Parameters: {"Payload: { \r\n user: {\r\n email: [email protected],\r\n password: password,\r\n password_confirmation: password\r\n }\r\n}"=>"[FILTERED]"}
(0.2ms) begin transaction
(0.1ms) rollback transaction
Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.3ms)
Also habe ich grundsätzlich 2 Fragen. Wie formatiere ich den JSON, damit meine Gerätecontroller es erkennen und in der Datenbank speichern. Und meine zweite Frage ist, wie ich ein CSRF-Token übergeben. Ein kleines Beispiel würde mir hier wirklich helfen. Vielen Dank im Voraus.
Die Daten, die Sie eine gültige JSON nicht gebucht umschließen. Ihre Konfiguration scheint in Ordnung, aber ich denke, wenn Sie gültiges JSON übergeben, werden Controller es erkennen. – 31piy