2016-08-16 4 views
0

最近、LoopBackでPOST HTTPハンドラをやや簡単に実装しようとしましたが、それを管理しませんでした。 これが該当します。モデルクラスを作成すると、ビジネス機能を実装するためのリモートメソッドしか追加できないようです。しかし、POSTリクエストの応答として、自分自身で適切な方法でリクエストを処理したい場合はどうすればよいですか? HTTP動詞リクエストの適切な処理を実装するのではなく、名前付きの特別なメソッドを追加することは、RESTFulほどではありません。それを達成する方法はありますか?おかげさまで StrongLoop/LoopBackでポストレスポンスを定義する方法

+0

[リモートフック](https://docs.strongloop.com/display/public/LB/Remote+hooks)または[操作フック](https://docs.strongloop.com/display)を検討するとよいでしょう。/public/LB/Operation + hooks)を使用して、自動的に生成されたREST APIによって公開される標準CRUD機能の上にモデルの追加ロジックを追加したい場合に使用します。 –

+1

ありがとうIvan。私が正確に必要としたのは、あらかじめ定義された振る舞いを置き換えることでした。 – redlab

答えて

1

次のようにメソッドを独自の動詞とパスを定義することができます。

MyModel.myMethod = function(...) { ... } 

MyModel.remoteMethod('myMethod', { 
    accepts: ..., 
    returns: ..., 
    http: { 
    verb: 'post', 
    path: '/' 
    } 
}); 

/api/MyModels/エンドポイントにmyMethod機能を添付するだろうというとき。リモートメソッドの更なるドキュメントについては

は、次のことをチェックアウト:第2リンク、sharedMethodについては

あなたがMyModel.remoteMethod(...)機能を使用するときに作成されるものです。

+0

こんにちは、ありがとう。これは私が逃したものです。実際には、自分のモデルを「PersistedModel」から「Model」にダウングレードしてリモート機能を有効にする必要がありました。さもなければ、私はPOSTメソッドの従来の動作に悩まされていました。 – redlab

+0

他のすべての 'CRUD'メソッドを残したい場合は、[リモートメソッドを無効にする](https://apidocs.strongloop.com/loopback/#model-disableremotemethod)もできます。 – richardpringle

関連する問題