2017-04-13 7 views
0

Ich baue ein Backend in Federn. Eine der Routen in der API-Spezifikation ist:Gibt es eine Möglichkeit, benutzerdefinierte REST-Aktionen in Feathers hinzuzufügen?

/people/{pid}/userData:updatePassword

Gibt es eine Möglichkeit, diese benutzerdefinierte Aktion zu einem Menschen oder Userdata-Controller hinzufügen?

Es gibt auch eine Möglichkeit, einen Dienst zu implementieren, der auch Subroutinen enthalten hat. Zum Beispiel: Ich habe einen /family Service. Ich habe auch eine /family/{fid}/members. Gibt es eine Möglichkeit, den members Teil in den Familienservice aufzunehmen?

Antwort

0

HTTP rät davon ab, Aktionen in die URL zu setzen, und Feathers erzwingt dies ein wenig strenger als viele andere Frameworks. Ein gutes Beispiel dafür, dass Aktionen, die Daten modifizieren, nicht über eine GET Anfrage ausgeführt werden sollten, wäre eine /users/:userid/delete Route, wo z.B. Der Google-Crawler kann kommen und Ihre gesamte Website löschen.

Zum Erstellen, Ändern und Löschen von Daten ist, was der POST, PATCH, PUT und HTTP-Methoden löschen und die jeweiligen Feathers service methods.create, .patch, .update und .remove sind.

Also statt Ihrer vorgeschlagenen /people/{pid}/userData:updatePassword würden Sie PATCH /people/{pid} mit einem { "password": "newPassword" } JSON Körper tun.

Um eine Route wie /family/{fid}/members zu erstellen, finden Sie weitere Informationen here, siehe auch die FAQ entry on nested routes.

+0

Ich verstehe den Patch. Ich habe diesen Leitfaden https://cloud.google.com/apis/design/custom_methods verfolgt. Gibt es eine Möglichkeit, Verben auf diese Weise zu verwenden? Gibt es eine Möglichkeit, verschachtelte Routen zu verwenden, ohne einen zweiten Dienst zu erstellen? – panitaxx

+0

Sie können immer Ihre eigene [Express-Middleware] (https://expressjs.com/de/guide/using-middleware.html) registrieren, aber Feathers tut nichts mehr, um dies zu unterstützen (zusätzlich sind verschachtelte Routen nicht einfach zu verwenden durch websockets, was eine große Eigenschaft von Feathers ist). – Daff

Verwandte Themen