【发布时间】:2012-06-29 12:40:28
【问题描述】:
使用 jax-rs(Jersey) 我尝试实现一个获取 JSON 对象列表的 POST 请求
//The resource look like this
@Path("/path")
@POST
@Consumes(MediaType.APPLICATION_JSON)
public void setJsonl(List<SomeObj> test) {
//do work
System.out.println(test);
}
//The class to define the json structure
@XmlRootElement
public class SomeObj{
private String tag;
private String value;
public String getTag() {
return tag;
}
public void setTag(String tag) {
this.tag = tag;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
当我尝试使用 curl 测试 REST api 时,我总是收到“错误请求”错误,我在这里遗漏了什么吗?
curl -X POST -H "Content-Type: application/json" -d '{"SomeObj":[{"tag":"abc", "value":"ghi"},{"tag":"123", "value":"456"}]}' http://{host_name}:8080/path_to_resource
【问题讨论】:
-
那么,你是怎么解决的呢?根据 user311174 的回答,不支持 json 的直接映射。这是真的吗?