Feathers: 機能リクエスト:一般的なサービス方法

作成日 2017年11月01日  ·  4コメント  ·  ソース: feathersjs/feathers

今日カスタムメソッドを追加するには、おそらく

  1. エクスプレスミドルウェアを作成し、クライアントのhttpを介して直接通信する、または
  2. (mis?)createメソッドを使用します。

たとえば、次のパターンを使用する認証管理を参照してください。

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

@dafflによると、 「いくつかの正当な理由で」 、以前はカスタムメソッドが拒否されていました#86。 スタック交換の回答では、詳細な説明へのリンクが壊れているので、いくつかの良い点を見逃している可能性があります。

とにかく、カスタムメソッドではないにしても、ジェネリックメソッドの余地があると思います。 service.postのように、RESTとソケットの両方で機能します。

最も参考になるコメント

サービスにカスタムメソッドを追加できるプラグインを作成しました: https ://www.npmjs.com/package/feathers-custom-methods

全てのコメント4件

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への接続は混乱を招く可能性がありますが。 actiondomethodも同様に機能します。

私があなたと以前の議論を理解しているように、フェザーは厳密にRESTアーキテクチャであるため、これは間違いなく範囲外です。 だから私は閉じています。 回答ありがとうございます!

サービスにカスタムメソッドを追加できるプラグインを作成しました: https ://www.npmjs.com/package/feathers-custom-methods

この問題は、クローズされた後、最近のアクティビティがないため、自動的にロックされています。 関連するバグについては、この問題へのリンクを含む新しい問題を開いてください。

このページは役に立ちましたか?
0 / 5 - 0 評価