クライアントからサーバーにデータを送信するときにnode.jsのrequest.bodyまたはrequest.paramsを使用することに好みがあるのでしょうか?node.jsのrequest.bodyまたはrequest.paramsの使用に違いはありますか?
7
A
答えて
4
より多くの(多様な)データをURLよりも身体に合わせることができます。本文には任意の文字列(特殊文字)を渡すことができますが、URLでエンコードすると状態414(Request-URI Too Long)に脆弱になります。配列や複雑なオブジェクトを渡すときにボディを使う方がはるかに簡単です:)
5
getを実行するときにはparamsを使うべきですが、ポスト、put、deleteにはボディを使うべきでしょう。
サンプルは
app.get "/api/items/:id", (req, res) ->
itemController.getItem req.params.id, (item, error) =>
if !error
res.send 'item': item
else
res.send 'error: error
サンプルポスト
app.post "/api/items", (req, res) ->
itemController.saveItem req.body, (item, error) =>
if !error
res.send 'item': item
else
res.send 'error: error
取得あなたは、同様の検証を追加することになりますが、これは、私は私のすべてのエンドポイントを書いているかとなっています。
2
この質問が尋ねられてから4年以上が経過していますが、私はまだこの記事につまずいている誰かがこの概念をよりよく理解するための情報を持っていることを確認しています。
req.bodyとreq.paramsサーバーの2つの異なる目的。
サーバーへの「POST」リクエストのように、データをサーバーに送信する必要がある場合(req.bodyを使用するなど)、req.bodyを使用します。例えば、以下をチェックしてください:
ブログ投稿を保存するためにmongodbに "POST"リクエストをしています。このシナリオでは、要求の本文にデータが入ってきて、そのデータをdbに送信する必要があります。ここではreq.bodyを使用します。
app.post("/blog", function(req, res){
var data = req.body.blog;
.... // code to send data to the db
....
});
urqから「param」を抽出する場合は、req.paramsが使用されます。あなたがurlの一部である "id"を抽出したいとしましょう。例えば、「ID」について質問した後、以下のURLで数 stackoverflow.com/questions/18187424/
app.get("/xyz/questions/:id", function(req, res){
var useId = req.params.id;
...
...
});
希望があり、それが役立ちます。
おかげで、 Kartik
関連する問題
- 1. Html.TextBoxはModelの代わりにRequest.Paramsを使用しますか?
- 2. .html.twigと.twigの使用に違いはありますか
- 3. Context.getTextとContext.getResources.getTextの使用に違いはありますか?
- 4. これはジェネリックの使用に違いがありますか?
- 5. PHP:++または+ = 1の使用に違いがありますか?
- 6. knoxとAWS SDKの違いは何ですか?node.jsにはどのような違いがありますか?
- 7. には、npm `request.body`のサイズにデフォルトの制限がありますか?
- 8. Predix Blobstoreの使用に使用できるnode.jsの例またはデモはありますか?
- 9. $ @と "$ @"に違いはありますか?
- 10. Laravelの 'join'または 'where'に '='を使用することに違いはありますか?
- 11. SocketまたはUdpClientをマルチキャストに使用する際に機能上の違いはありますか?
- 12. Node.jsにフォワードスラッシュとバックスラッシュを使用してファイルをロードすると、大きな違いはありますか?
- 13. node.jsに$ _SERVER ['SERVER_ADDR' ']はありますか?
- 14. Solaris上にNode.JS用のビルド済みバイナリはありますか?
- 15. (ノーロック)または(ノーロック) - 違いはありますか?
- 16. C#で "get {}"、 "set {}"または "=>"の構文を使用するときに違いはありますか?
- 17. ftp.mysite.comとIPを直接使用するのに違いはありますか?
- 18. R:=または< - ?を使用するとパフォーマンスに違いはありますか?たとえば
- 19. クラウド9を使用しているNode.jsのチュートリアルはありますか?
- 20. CollectionListとArrayListのCPUとメモリ使用量には違いがありますか?
- 21. MySQLでINT(1)とTINYINT(1)の使用に違いはありますか?
- 22. Node.jsは「apps」のみに使用する必要がありますか?
- 23. Drupalテーマのローカルホストまたはcpanel製品ホストに違いはありますか?
- 24. BODYタグにmargin-topまたはpadding-topを使用することに違いはありますか?
- 25. AddTransient:違いはありますか?
- 26. Node.js発行トラッカーはありますか?
- 27. node.js 0.2.5リークメモリはありますか?
- 28. Node.js HTTPリクエストモジュールはありますか?
- 29. node.jsとPostgreSQL用のActiveRecordフレームワークはありますか?
- 30. Node.js用のGoogle APIライブラリはありますか?
私は、削除要求は一般的に体を含んでいないと思います。 Google App Engineはこれを少なくとも実施します。 – bgenchel