2016-01-10 63 views
0

我想在POST方法上採取JSON值,但我不知道如何做到這一點。JSON與@POST Restful

這是我的代碼:

@POST 
@Path("/contacts") 
@Consumes({"application/json"}) 
public void addContact() { 

    HttpSession session = request.getSession(true); 

    UserPK user = new UserPK((String) session.getAttribute("username")); 
    //dest = TAKE JSON VALUE 

    dao.addContact(user, dest); 
} 

我送與Firefox RESTClient實現的JSON值這個樣子:

{"param1":"value"} 

我怎麼能採取這種價值?

我們也有這樣的錯誤消息:415不支持的媒體類型

感謝。

+0

你能解釋一下更多?是「dest」你的JSON對象還是ju st從您提取的JSON對象獲取值?錯誤消息何時發生? – Alex1620

回答

2

確保您確實發送了一篇文章,並且您的請求的內容類型是application/json。使用Spring MVC消耗這一點,你可以使用@RequestBody註釋:

@POST 
@Path("/contacts") 
@Consumes({"application/json"}) 
public void addContact(@RequestBody MyClass c) { 

其中MyClass的是代表請求對象一個簡單的Java類(即在這種情況下,你只需要命名參數1一個String類變量

0

如果您使用的是springmvc,它附帶了json的消息轉換器。 您可能必須將您的pojo聲明爲您方法中的參數。

0

問題是,從Firefox插件並沒有讓我修改標題,所以當我用純文本/ tryed對鉻與郵差它的工作。

還是要謝謝你。