ホームページ  >  記事  >  バックエンド開発  >  PHPにおけるRestful PUTメソッドのパラメータの送信と受信の詳細な説明

PHPにおけるRestful PUTメソッドのパラメータの送信と受信の詳細な説明

小云云
小云云オリジナル
2018-03-26 13:08:546279ブラウズ

PHP の Restful インターフェイスを開発している人は、リソースを更新するための PUT メソッドがあることを知っているでしょう。それでは、PUT HTTP メソッドを使用してリソースを更新する方法について、主に、Restful PUT のパラメーターの送信と受信について詳しく説明します。 PHP のメソッドが皆さんのお役に立てれば幸いです。

PUT リクエストを送信する

時々、PUT メソッドから受け取ったパラメータが必要な型ではないことがわかります。パラメータ配列が必要ですが、実際には を入力していることが問題です。 Content-Type のタイプが間違っています。application/json または application/x-www-form-urlencoded に対応するデータを送信していますが、 です。 >Content-Type は multipart/form-data なので、受信データは form-data になります: Content-Type的类型搞错了,我们发送的是application/json或者application/x-www-form-urlencoded对应的数据,但Content-Type却是multipart/form-data,这样接收的数据就变成了form-data的样子:

----------------------------217287928126218120101488Content-Disposition: form-data; name="status"

1
----------------------------217287928126218120101488--

并且Restful的数据基本都是json格式传输,所以发送的HTTP头应该是Content-Type=application/json
使用POST MAN:
PHPにおけるRestful PUTメソッドのパラメータの送信と受信の詳細な説明
PHPにおけるRestful PUTメソッドのパラメータの送信と受信の詳細な説明

接收PUT请求参数

PUT方法接受参数使用:

parse_str(file_get_contents('php://input'), $data);

参数保存在$data里。
如果使用tp5框架可以使用助手函数实现:

input('put.status');input('put.');

ps:这里的form-data误区应该是由PHP的POST和PUT方法内部解析multipart/form-datarrreee

そして、Restful のデータは基本的に json 形式で送信されるため、送信される HTTP ヘッダーはContent-Type=application/json になります。
POST MAN を使用します:
PHPにおけるRestful PUTメソッドのパラメータの送信と受信の詳細な説明
PHPにおけるRestful PUTメソッドのパラメータの送信と受信の詳細な説明

PUT リクエストのパラメータを受け取る

PUT メソッドはパラメータを受け取り、以下を使用します: rrreee

パラメータは $data に保存されます。
tp5 フレームワークを使用している場合は、ヘルパー関数を使用できます: 🎜rrreee🎜 ps: ここでのフォームデータの誤解は、multipart/form-data のデータが内部で解析されるということです。 PHP の POST メソッドと PUT メソッドではメソッドが異なるため、POST メソッドはパラメータを $_POST に解析して内容を空白のままにしますが、PUT ではこの手順が行われないため、使用法の違いに注意してください。 🎜🎜関連する推奨事項: 🎜🎜🎜Restful によって返されるコンテンツ タイプの PHP 自動識別🎜🎜

以上がPHPにおけるRestful PUTメソッドのパラメータの送信と受信の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。