Ich baue eine API für eine Web-App auf, die ich seit einiger Zeit entwickle. Ich habe mit dem Benutzermodell angefangen. Der Benutzerbereich der API wird es entfernten Clients ermöglichen, a) Benutzerdaten abzurufen, b) Benutzerinformationen zu aktualisieren und c) neue Benutzer zu erstellen. Ich habe all das zum Laufen gebracht, aber es scheint nicht richtig eingerichtet zu sein. Hier sind meine Fragen:
- Soll der API-Endpunkt Benutzer oder Benutzer sein? Was ist die bewährte Praxis?
- Ich muss die Aktion am Ende hinzufügen, was ich erwarten würde, dass sie stattdessen vom Request-Typ erfasst wird, sodass ich sie nicht explizit angeben muss. Wie richte ich meine Routen richtig ein, um die Methode für geschützte Aktionen nicht einschließen zu müssen?
Lassen Sie mich einige Beispiele geben:
GET-Anforderung für Anzeige - möchte, dass es ohne "show" funktioniert
- curl -u rmbruno:blah http://app.local/api/users/show
PUT-Anforderung für Aktualisierung - möchte, dass es ohne "update" funktioniert
- curl -X put -F 'user[forum_notifications]=true' -u rmbruno:blah http://app.local/api/users/update
Erstellen - funktioniert mit oder ohne 'create', was ich für all diese Aktionen möchte
- curl -X post -F 'user[login]=mamafatta' -F 'user[email]=zzz@zzz.com' -F 'user[password]=12345678' http://twye.local/api/users/
Wie strukturiere ich Routen, um den Aktionsnamen nicht zu benötigen? Ist das nicht der übliche Weg für RESTful APIs?
Hier ist meine Route für die API jetzt:
map.namespace :api do |route|
route.resources :users
route.resources :weight
Ich verwende restful authentication, die die http-auth in curl handhabt. Jede Anleitung zu den Routenproblemen und bewährten Praktiken bei Singular versus Plural wäre sehr hilfreich.
Vielen Dank! -A