Feathers: Funktionsanforderung: Generische Dienstmethode

Erstellt am 1. Nov. 2017  ·  4Kommentare  ·  Quelle: feathersjs/feathers

Heutzutage würde man wahrscheinlich benutzerdefinierte Methoden hinzufügen

  1. Erstellen Sie eine Express-Middleware und kommunizieren Sie direkt über http auf dem Client, oder
  2. (falsch?) Verwenden Sie die create-Methode.

Siehe beispielsweise authentication-management , wo sie dieses Muster verwenden:

app.service('authManagement').create({
  type: 'specialMethod',
  data...
})

Früher wurden benutzerdefinierte Methoden abgelehnt #86, laut @daffl "aus mehreren guten Gründen" . In der Stack-Exchange-Antwort ist der Link für die detaillierte Erklärung defekt, daher habe ich möglicherweise einige gute Punkte übersehen.

Wie auch immer, wenn keine benutzerdefinierten Methoden vorhanden sind, glaube ich, dass Platz für eine generische Methode vorhanden ist. Wie service.post funktioniert das sowohl über REST als auch über Socket.

Hilfreichster Kommentar

Ich habe ein Plugin erstellt, mit dem Sie benutzerdefinierte Methoden zu Diensten hinzufügen können: https://www.npmjs.com/package/feathers-custom-methods

Alle 4 Kommentare

Den FAQ-Eintrag finden Sie hier: https://docs.feathersjs.com/faq/readme.html#how -do-i-create-custom-methods und den verlinkten Issue-Kommentar (https://github.com/feathersjs /feathers/issues/488#issuecomment-269687714) enthält weitere Einzelheiten dazu.

Ich habe es nie gebraucht, aber wenn wirklich ein Bedarf an benutzerdefinierten Aktionen besteht, scheint mir die Implementierung eines benutzerdefinierten Dienstes mit einer create -Methode in Ordnung zu sein. app.service('action').create macht für mich mehr Sinn als app.service('action').post (was bedeutet post überhaupt außerhalb von HTTP?).

Vielen Dank für Links zu früheren Diskussionen, sie haben einige sehr gute Punkte!

Ein Punkt, der meiner Meinung nach zuvor nicht erwähnt wurde, ist die einfache Verständlichkeit für Anfänger. Zum Beispiel die Authentifizierungshaken create und remove . Was bedeutet es wirklich , eine Authentifizierung zu erstellen? Das verwirrt mich als Anfänger. Ich habe den Leitfaden von Anfang an gelesen und ehrlich gesagt die Auswirkungen von Federn als reines REST-Framework vergessen oder falsch verstanden.

Ich habe es nie gebraucht, aber wenn es wirklich Bedarf an benutzerdefinierten Aktionen gibt

Ich nehme an, Sie haben eine Authentifizierung benötigt, z. B. app.authenticate , was ich als benutzerdefinierte Aktion sehe. Es ist mit service.create implementiert, da mache ich Haarspalterei 😅

macht für mich mehr Sinn als app.service('action').post (was bedeutet post überhaupt außerhalb von HTTP?).

Posten war nur ein Vorschlag, und ich meine Posten im Sinne von „etwas veröffentlichen“. Die Verbindung zu HTTP POST kann jedoch verwirrend sein. action , do und method funktionieren genauso gut.

Wie ich Sie und die früheren Diskussionen verstehe, ist dies definitiv außerhalb der Grenzen, da Federn ausschließlich eine REST-Architektur sind. Also schließe ich. Danke für die Antwort!

Ich habe ein Plugin erstellt, mit dem Sie benutzerdefinierte Methoden zu Diensten hinzufügen können: https://www.npmjs.com/package/feathers-custom-methods

Dieses Problem wurde automatisch gesperrt, da es nach seiner Schließung keine Aktivitäten mehr gegeben hat. Bitte öffnen Sie ein neues Problem mit einem Link zu diesem Problem für verwandte Fehler.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

corymsmith picture corymsmith  ·  4Kommentare

jordanbtucker picture jordanbtucker  ·  4Kommentare

perminder-klair picture perminder-klair  ·  3Kommentare

NetOperatorWibby picture NetOperatorWibby  ·  4Kommentare

rrubio picture rrubio  ·  4Kommentare