2013-08-18 40 views
1

我想這REST WS http://phprestsql.sourceforge.net/爲什麼REST PUT返回HTTP/1.x的405不允許的方法

當我選擇PUT動詞,複製和粘貼文本中

firstname=Jim 
surname=Example 
[email protected] 
company_uid=1 

我得到這個錯誤響應:

HTTP/1.x 405 Method Not Allowed 
Date: Sun, 18 Aug 2013 16:50:06 GMT 
Via: 1.1 varnish 
Allow: GET, HEAD 
Server: Apache/2.2.15 (CentOS) 
Age: 0 
Vary: Host, Accept-Encoding 
Content-Type: text/html 
Cache-Control: max-age=172800 
X-Varnish: 244445725 
Connection: keep-alive 
Content-Length: 0 
Expires: Tue, 20 Aug 2013 16:50:06 GMT 

爲什麼我沒有拿到預期

HTTP/1.x 201 Created 
+1

'Allow:GET,HEAD' can not you add other methods? – 2013-08-18 17:00:22

+0

這不是我的網站,它是有人制作的教程。 – user310291

+0

您在哪個URI上發送了「PUT」?是否按照教程中所述在'/ tutorial/user/4'上? –

回答

0

PUT要求您已經知道特定的資源ID - 它的目的是用新記錄(您提供的)的內容替換當前記錄的內容。如果您只是創建一個以前從未存在過的新記錄,並且您不想替換或覆蓋其他任何內容,則應該使用POST

從網站鏈接:

有兩種方法添加一行到表:

使用PUT方法,我們可以寫一個資源到特定的URL,但 做到這一點我們必須知道我們要在 處插入主鍵(因爲主鍵是URL的一部分)。應使用PUT方法 來創建或覆蓋已知的命名資源。

使用POST方法,我們可以將表示形式發送到表格URL 並讓它將其附加到自身。 POST方法應該用於 創建一個全新的資源作爲集合的子資源(當您希望服務器爲您構建URL時,創建一個 )。

相關問題