タグ付けされた質問 「put」

30
RESTでのPUTとPOSTの比較
HTTP / 1.1仕様によると: このPOSTメソッドは、元のサーバーが、リクエストで囲まれたエンティティRequest-URIを、Request-Line つまり、POSTを作成するために使用されます。 このPUTメソッドは、囲まれたエンティティを指定されたの下に保存することを要求しますRequest-URI。がRequest-URI既存のリソースを参照する場合、囲まれたエンティティは、オリジンサーバーに存在するエンティティの変更バージョンと見なされるべきです(SHOULD)。がRequest-URI既存のリソースを指しておらず、そのURIが要求側のユーザーエージェントによって新しいリソースとして定義できる場合、オリジンサーバーはそのURIでリソースを作成できます。」 つまり、PUTを作成または置換するために使用されます。 では、どれを使用してリソースを作成する必要がありますか?または、両方をサポートする必要がありますか?
5373 http  rest  post  put 


9
REST APIの実際のシナリオでのPUTメソッドとPATCHメソッドの使用
まず、いくつかの定義: PUTはセクション9.6 RFC 2616で定義されています。 PUTメソッドは、囲まれたエンティティが指定されたRequest-URIの下に格納されることを要求します。Request-URIが既存のリソースを参照している場合、囲まれたエンティティは、元のサーバーにあるエンティティの変更バージョンと見なされるべきです(SHOULD)。Request-URIが既存のリソースを指さず、そのURIが要求元のユーザーエージェントによって新しいリソースとして定義できる場合、オリジンサーバーはそのURIでリソースを作成できます。 PATCHはRFC 5789で定義されています。 PATCHメソッドは、要求エンティティに記述されている一連の変更を、Request-URIで識別されるリソースに適用するように要求します。 また、RFC 2616セクション9.1.2によれば、PUTはべき等ではなく、PUTはべき等です。 次に、実際の例を見てみましょう。/usersデータを使用してPOSTを実行し、{username: 'skwee357', email: 'skwee357@domain.com'}サーバーがリソースを作成できる場合、サーバーは201とリソースの場所で応答し(仮定/users/1)、次のGET呼び出し/users/1はを返し{id: 1, username: 'skwee357', email: 'skwee357@domain.com'}ます。 次に、メールを変更したいとします。メールの変更は「一連の変更」と見なされるため/users/1、「パッチドキュメント」でパッチを適用する必要があります。私のケースでは、JSON形式のドキュメントのようになります。{email: 'skwee357@newdomain.com'}。その後、サーバーは200を返します(許可に問題がない場合)。これは私に最初の質問をもたらします: パッチはべき等ではありません。RFC 2616とRFC 5789でそう述べられています。ただし、同じPATCHリクエストを(新しいメールで)発行すると、同じリソースの状態が取得されます(メールはリクエストされた値に変更されます)。なぜPATCHはべき等ではないのですか? PATCHは比較的新しい動詞(2010年3月に導入されたRFC)であり、一連のフィールドの「パッチ」または変更の問題を解決するようになります。PATCHが導入される前は、誰もがPUTを使用してリソースを更新していました。しかし、PATCHが導入された後は、PUTが何に使用されるのか混乱します。そして、これは私に私の2番目の(そして主要な)質問をもたらします: PUTとPATCHの本当の違いは何ですか?特定のリソースの下のエンティティ全体を置き換えるために PUTが使用される可能性があることをどこかで読んだので、(PATCHのような属性のセットの代わりに)エンティティ全体を送信する必要があります。そのような場合の実際の使用法は何ですか?特定のリソースURIにあるエンティティをいつ置換または上書きしますか。また、そのような操作がエンティティの更新/パッチ適用と見なされないのはなぜですか?PUTで私が目にする唯一の実用的な使用例は、コレクションに対してPUTを発行すること、つまり/usersコレクション全体を置き換えることです。PATCHが導入された後、特定のエンティティでPUTを発行しても意味がありません。私が間違っている?
680 json  rest  http  put  http-method 



12
PythonでHTTP PUTを行う方法はありますか
PUTPythonでHTTP を使用してサーバーにデータをアップロードする必要があります。私がurllib2ドキュメントを簡単に読んだところ、HTTPのみを実行していますPOST。PUTPythonでHTTPを行う方法はありますか?
220 python  http  put 


9
HttpURLConnectionでPUT、DELETE HTTPリクエストを送信する方法
PUT、DELETEリクエストを(実際に)java.net.HttpURLConnectionHTTPベースのURL に送信できるかどうかを知りたいです。 GET、POST、TRACE、OPTIONSリクエストを送信する方法を説明した記事をたくさん読みましたが、PUTおよびDELETEリクエストを正常に実行するサンプルコードはまだ見つかりません。

2
PHPでcURLを使用したRAW POST
PHPでcURLを使用してRAW POSTを実行するにはどうすればよいですか? エンコードなしの場合と同様に生の投稿で、私のデータは文字列に格納されます。データは次のようにフォーマットする必要があります。 ... usual HTTP header ... Content-Length: 1039 Content-Type: text/plain 89c5fdataasdhf kajshfd akjshfksa hfdkjsa falkjshfsa ajshd fkjsahfd lkjsahflksahfdlkashfhsadkjfsalhfd ajshdfhsafiahfiuwhflsf this is just data from a string more data kjahfdhsakjfhsalkjfdhalksfd 1つのオプションは、送信されるHTTPヘッダー全体を手動で書き込むことですが、最適とは言えません。 とにかく、私はただcurl_setopt()にオプションを渡してPOSTを使用し、text / plainを使用し、生データを$variable?
126 php  post  curl  put 

13
BODYを使用してPOSTリクエストを迅速に送信する方法
私はアラモファイアを使ってボディを素早く投稿リクエストをしようとしています。 私のjsonボディは次のようになります: { "IdQuiz" : 102, "IdUser" : "iosclient", "User" : "iosclient", "List":[ { "IdQuestion" : 5, "IdProposition": 2, "Time" : 32 }, { "IdQuestion" : 4, "IdProposition": 3, "Time" : 9 } ] } 私はlet listNSDictionnaryで次のように作成しようとしています: [[Time: 30, IdQuestion: 6510, idProposition: 10], [Time: 30, IdQuestion: 8284, idProposition: 10]] そして、Alamofireを使用した私のリクエストは次のようになります: …
97 json  swift  put  alamofire 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.