今日カスタムメソッドを追加するには、おそらく
たとえば、次のパターンを使用する認証管理を参照してください。
app.service('authManagement').create({
type: 'specialMethod',
data...
})
@dafflによると、 「いくつかの正当な理由で」 、以前はカスタムメソッドが拒否されていました#86。 スタック交換の回答では、詳細な説明へのリンクが壊れているので、いくつかの良い点を見逃している可能性があります。
とにかく、カスタムメソッドではないにしても、ジェネリックメソッドの余地があると思います。 service.post
のように、RESTとソケットの両方で機能します。
FAQエントリはここにあります: https ://docs.feathersjs.com/faq/readme.html#how -do-i-create-custom-methodsおよびリンクされた問題のコメント(https://github.com/feathersjs / feathers / issues / 488#issuecomment-269687714)に、これに関する詳細があります。
私はそれを必要としませんでしたが、カスタムアクションが本当に必要な場合は、 create
メソッドを使用してカスタムサービスを実装することは私には問題ないようです。 app.service('action').create
は、 app.service('action').post
よりも私には理にかなっています( post
はHTTP以外でもどういう意味ですか?)。
以前の議論へのリンクをありがとう、彼らはいくつかの非常に良い点を持っています!
初心者にとっては、わかりやすさという点が前に触れていないと思います。 たとえば、認証create
およびremove
フック。 「認証を作成する」とはどういう意味ですか? それは私を初心者として混乱させます。 私は最初からガイドを読みましたが、RESTのみのフレームワークであるフェザーの影響を正直に忘れたり誤解したりしました。
私はそれを必要としませんでしたが、カスタムアクションが本当に必要な場合
app.authenticate
などの認証が必要だと思いますが、これはカスタムアクションと見なされます。 service.create
で実装されているので、髪を分割しています😅
app.service( 'action')。postよりも私には理にかなっています(postはHTTPの外でも何を意味しますか?)。
投稿は単なる提案であり、「何かを公開する」という意味での投稿を意味します。 HTTPPOSTへの接続は混乱を招く可能性がありますが。 action
、 do
、 method
も同様に機能します。
私があなたと以前の議論を理解しているように、フェザーは厳密にRESTアーキテクチャであるため、これは間違いなく範囲外です。 だから私は閉じています。 回答ありがとうございます!
サービスにカスタムメソッドを追加できるプラグインを作成しました: https ://www.npmjs.com/package/feathers-custom-methods
この問題は、クローズされた後、最近のアクティビティがないため、自動的にロックされています。 関連するバグについては、この問題へのリンクを含む新しい問題を開いてください。
最も参考になるコメント
サービスにカスタムメソッドを追加できるプラグインを作成しました: https ://www.npmjs.com/package/feathers-custom-methods