2017-11-18 3 views
0

最近Sails.jsを試し始めました。私は自分のプロジェクトのプロダクションやモバイルバックエンドとして使いたいと思っています。 Sails.jsのドキュメントでは、青写真のapiでは、createメソッドの呼び出しはPOSTタイプのものでなければなりません。https://sailsjs.com/documentation/reference/blueprint-api/createSails.jsでGETを使用して作成リクエストを作成したときに作成機能を無効にする

しかし、GETリクエストでも、レコードが作成されます。リクエストがGETタイプの場合に、create featureを無効にする方法は?

答えて

2

@paulogdmと同様、私はあなたのGETがレコードを作成していたことに驚きました。しかし、私は文書を見つけました - それは帆の "ショートカット"ルートであり、無効にすることができます。ドキュメントはhereです。

module.exports = { 

    // ... 
    shortcuts: false 

} 
+0

ありがとうございました。見逃した。これはまさに私が探していたものでした。 –

2

BLUEPRINT APIを完全に無効にする場合は、config/blueprints.jsをご覧ください。 しかし、あなたは単に「policies.js」にこのような何かを行うことによって、それのアクセスを制限するために警察を作成することができますいくつかのアクションがコントローラに暗示されていることを

UserController : { 
    'thisispublic' : true, 
    'thisisnot' : false, 
    'create' : ['hasAdminToken'], 
    'update' : ['hasAdminToken'], 
    'destroy' : ['hasAdminToken'], 
} 

注 - あなたは "持っていけない場合でも、あなたのモデルが存在するときにそれがあなたのモデルによって提供されるでしょう...

+1

おかげで非常に:あなたの/config/blueprints.jsファイルで

は、あなたが追加する必要があります。ちなみに、私は作成ルートを削除したくないだけで、単にgetリクエストで許可したくないのです。 –

+1

ああ、私は参照してください...それは本当に奇妙なことは、帆のドキュメントの状態: '* GET/boat - > BoatController.find * * GET/boat /:id - > BoatController.findOne * * POST/boat - > BoatController .create * * PUT/boat /:id - > BoatController.update * * DELETE/boat /:BoatController.destroy ' – paulogdm

関連する問題