在Java中通过REST调用发布和检索JSON对象
我有一个Rest端点(基于球衣)接受一个JSON对象,通过将它映射到一个POJO来获取它,例如
@POST
@Path("/test")
@Produces(MediaType.APPLICATION_JSON)
public void getResult(PojoClass pojo)
我的PojoClass是:
@XmlRootElement
public class PojoClass {
private List<String> list;
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
}
现在,如果我通过curl命令发送一个json数据:
curl -H "Content-type: application/json" -i -X 'POST' -d @/tmp/xyz.json http://127.0.0.1:8080/test
我能够将它正确地映射到我的PojoClass中。
xvz.json是:
{
"list":[
"123",
"456"
]
}
PojoClass的列表将有两个元素(“123”和“456”)。
但是,如果从JAVA做一个post调用。 我发送的是和负载相同的json结构,它被作为一个PojoClass作为单个元素接收,这个元素是一个级联,如[“123”,“456”]
我正在使用“HttpURLConnection”从java发出一个post调用。
是否需要额外获取与cURL命令相同的结果?
这是JSONObject和JSONArray之间的一个库冲突,它在请求Payload中破坏了我的JSON。 当我处理这个错误时,请求很顺利,一切都像魅力一样。
链接地址: http://www.djcxy.com/p/48787.html上一篇: Posting and retrieving a JSON object via REST call in java