首頁  >  文章  >  後端開發  >  PHP中Restful PUT方法的參數提交及接收詳解

PHP中Restful PUT方法的參數提交及接收詳解

小云云
小云云原創
2018-03-26 13:08:546264瀏覽

我們開發PHP的Restful介面都會知道有PUT方法更新資源,那到底如何使用PUT這個HTTP方法更新資源,本文主要和大家分享PHP中Restful PUT方法的參數提交及接收詳解,希望能幫助大家。

發送PUT請求

有時候我們發現接收PUT方法發送的參數不是我們想要的類型,想要一個參數數組,卻被接收成一串字串,這種問題其實是我們把Content-Type的型別搞錯了,我們發送的是application/jsonapplication/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-data的資料方式不同導致的,POST方法把參數解析到$_POST並把content內容置空,而PUT卻沒有這步驟操作,所以要注意使用上的差異。

相關推薦:

PHP針對Restful傳回內容類型的自動辨識

以上是PHP中Restful PUT方法的參數提交及接收詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn