2015-03-03 57 views
0

我聽說在REST世界,POST建議創建的條目,而PUT建議更新的條目。參數傳遞到一個PUT請求JAX-RS

首先,我想確認一下這個聲明。

然後,使用這個假設,比方說,我有一個@POST方法來創建一個用戶和一個@PUT方法來更新用戶(用@QueryParam來傳遞用戶ID)。

將參數傳遞給POSTPUT的正確方法是什麼?

@FormParam適合@PUT?或者我應該在體內通過一個JSON

我是否應該以相同的方式爲@POST@PUT或其他方式傳遞參數?

或者我應該使用POST嗎?

編輯:這個問題最初展示了一個不適合我的例子,但這是因爲我的測試工具做錯了。它現在與POSTMAN一起工作。

+0

顯示我們的要求你爲'PUT'製作。 – 2015-03-03 12:06:29

+0

實際上,當試圖向您顯示請求時,我注意到我的工具沒有使用'x-www-form-url-encoded'。一旦我切換到它爲PUT工作...但我仍然想知道我應該怎麼做 – 2015-03-03 12:13:25

+0

我現在編輯我的問題。 – 2015-03-03 12:20:32

回答

0

是的,REST,您通常使用以下命令:

  • 元素列表資源的方法POST添加元素
  • 要素資源的方法PUT完全更新的元素
  • 元素資源的方法PATCH部分更新元素

由於您必須發送相應的池塘到資源狀態,你必須在請求體內提供它。

兩個主體(用於添加和更新)是相似的,但有一些差異。例如,如果您希望RESTful服務自動生成一些字段,則不必提供相應的字段。

下面是示例請求:

POST /contacts 
{ 
    "lastName": "my last name", 
    "firstName": "my first name", 
} 
(corresponding response status code: 201 - Created) 

PUT /contacts/contactid 
{ 
    "lastName": "my last name", 
    "firstName": "my first name", 
} 
(corresponding response status code: 204 - No content) 

你可以看到,JSON是不是可以使用的唯一格式。 XML,YAML等也可以使用。

我認爲下面的鏈接可以給你一些提示:

希望它可以幫助你, 蒂埃裏