2013-11-21 28 views
4

我有一個名爲Thing如何使用拖放嚮導處理JSON有效內容?

public class Thing { 
    private int id 
    private String name 
    //getters, setters, constructor 
} 

我想送一個有效載荷並進行處理的請求簡單的類。

的要求會是這個樣子:

curl -i -d '{"thing": {"id": 11, "name": "foobar"}}' http://localhost:8080/thing/{username} 

但我無法弄清楚如何處理JSON請求。這就是我的方法:

@Path("/thing/{username}") 
@POST 
public Thing add(@PathParam("username") String username) { 
    //how can I process the JSON payload sent and convert it to Thing object? 
} 

回答

4

檢出Jackson

ObjectMapper mapper = new ObjectMapper(); 
Thing impl = mapper.readValue(username, Thing.class); 

只要username是有效的JSON和地圖Thing,這應該工作。

注意:您可能需要註釋類成員或Thing的方法。例如在我的情況下,我不得不使用com.fasterxml.jackson.annotation.JsonManagedReference來管理循環引用。但是您可以在API文檔中閱讀關於此註釋和其他註釋的內容。