2015-08-16 92 views
4

我有一個Person類。如何用spring @RequestBody在休息客戶端發送post請求

class Person{ 
Integer id; 
String firstName; 
String lastName; 
//other params, constructors, getters & setters 
} 

&我的方法是

@RequestMapping(value = "/test", method = RequestMethod.POST) 
    public void testPerson(
      @RequestBody Person person){ 
... 
} 

現在我需要使用REST客戶端進行測試。我嘗試設置Firefox插件的「請求標題」部分,使其具有「名稱」=「Content-Type」和「value」=「application/x-www-form-urlencoded」 &然後在主體中添加參數,

id=1&firstName=aaa&lastName=bbb 

,但它給404

+0

您需要JSON格式發送有效載荷。 – Vaelyr

回答

2

如果您收到404響應,這意味着要麼你的請求URL是錯誤的,或者您使用或反之亦然GET方法,而不是POST

然後,在請求中傳遞Person時,如果使用@RequestBody,則必須將請求正文中的JSON或XML傳遞爲playload。

JSON:

{ 
    "id":1, 
    "firstName":"aaa", 
    "lastName":bbb 
} 

XML

<person> 
    <id>1<id> 
    <firstName>aaa</firstName> 
    <lastName>bbb</lastName> 
</person> 
+0

我已添加這2個標題。接受:application/json Content-Type:application/json&發送來自body的json請求。 – user1298426

+0

如果您使用Jackson或其他庫將json轉換爲對象。不要忘記將空構造函數添加到對象 –

相關問題