問題タブ [http-patch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
backbone.js - Backbone.jsのPATCHリクエストメソッド
PATCH
モデルの属性をBackbone.jsに保存しながらリクエストを実行する正しい方法は何ですか?
javascript - Backbone.js 部分更新 (パッチ: true) を使用するには?
モデルの章のsaveメソッドで、Backbone.js のドキュメントには次のように書かれています。
代わりに、変更された属性のみをサーバーに送信する場合は、model.save(attrs, {patch: true}) を呼び出します。渡された属性だけを使用して、サーバーへの HTTP PATCH 要求を取得します。
ソース: http://backbonejs.org/#Model-save
これが実際に機能する方法についての適切な説明を見つけることができませんでした (実際に機能するかどうか!)。渡された属性だけでPATCH リクエストをサーバーに送信する必要がありますが、常に POST リクエストをサーバーに送信すると、モデルのすべての属性が送信されます。また、Firebug では、変更しても違いがわかりませんBackbone.emulateHTTP
。Firebug は常に save メソッドを使用して POST 要求を表示します。
ここでテストを作成しました: http://jsfiddle.net/r9kXL/ URL はもちろん存在しませんが、重要なのは Firebug で POST 要求を確認することです。ご覧のとおり、属性を 1 つだけ送信しようとすると、常にすべてがサーバーに送信され、オプションがまったく役に立たなくなります。
Backbone 開発者がこのオプションを提供する理由とその目的は何ですか? その使用例を示していただけますか?
http - HTTP PATCH リクエストにデータを含める適切な方法
HTTP PATCH リクエストを作成するときに、URL パラメータ以外のデータを含めるにはどのようなオプションがありますか?
次のいずれかが機能しますか?また、最も一般的な選択肢は何ですか?
- マルチパート/フォームデータ
- application/x-www-form-urlencoded
- 生の JSON
- ...他のもの?
php - 非POSTリクエスト中にPHPがx-www-form-urlencodedデータを解析しない
x-www-form-urlencoded
リクエストボディがポストリクエストとして、またはmultipart/form-data
非ポストリクエスト中に提供されたときに、PHPに $_POST スーパーグローバル配列を自動的に設定させる方法はありますか?
PATCH
現在、上記のコンテンツ タイプのいずれかで構成されるリクエスト ボディを使用してリクエストを発行すると、データがスーパーグローバルに入力されることはありません。
json - JSON-PATCH 形式の使用
RFC6902 で規定されている JSON-PATCH 形式について質問があります。
私が理解しているように、このフォーマットは PATCH リクエストに適しています。応答でこれを使用する方法はありますか?部分的なコンテンツ コードを使用している可能性がありますか? PATCH を使用して要求した操作がリソースに追加の変更を引き起こす可能性がある特別なケースがあります。リソース自体が巨大であるため、完全な表現を送り返したくありません。
RFC で議論されている形式は、どの程度広く使用されていますか?
sinatra - JRuby、Sinatra、Warbler アプリ - HTTP PATCH 要求が 501 エラーで失敗する
JRuby 1.7.4、Sinatra 1.4.4、および Rack 1.5.2 を使用して単純な Web サービスを作成しました。この Web サービスは、GET、POST、PATCH、および DELETE 要求に対して、単純なメッセージ「Hello world using [request-type]」で応答します。
Rack を起動し、すべてのリクエスト タイプをテストしました。4つすべてが機能しました。
Warbler を使用してアプリケーションの war ファイルを作成し、Tomcat 7.0.47 にデプロイしました。Tomcat PATCH でテストしたところ、「HTTP ステータス 501 - Method PATCH は、この URI のこのサーブレットによって実装されていません」で失敗しました。(はい、「そうではありません」が繰り返されます。しかし、これは私が Tomcat から得た応答です。) GET、POST、および DELETE は正常に機能しました。
次に、Jetty 9.1.0 を使用してみました。同じ結果です。GET、POST、および DELETE は機能しますが、PATCH は失敗します。
PATCH リクエストが失敗するのはなぜですか? また、この設定でそれらを機能させるにはどうすればよいですか?