【发布时间】:2015-06-11 01:09:06
【问题描述】:
我在将JSON 发布到ArrayList 时遇到问题
我有一个班级计划
public class Plan {
private String planId;
private String planName;
:
:
}
还有一个 ArrayList 的 Plan - PlanList
public class PlanList {
private List<Plan> plans = new ArrayList<Plan>();
:
:
}
我有 POST 和 GET REST API
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Plan createPlan(@CookieParam(SmsHttpHeaders.X_SMS_AUTH_TOKEN) String token, Plan plan, @HeaderParam("Organization-Id") String organizationIdByService);
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public PlanList createPlans(@CookieParam(SmsHttpHeaders.X_SMS_AUTH_TOKEN) String token, PlanList plans, @HeaderParam("Organization-Id") String organizationIdByService);
@GET
@Produces(MediaType.APPLICATION_JSON)
public PlanList retrieveAllPlans(@CookieParam(SmsHttpHeaders.X_SMS_AUTH_TOKEN) String token, @HeaderParam("Organization-Id") String organizationIdByService);
当我得到retrieveAllPlans 时,我得到了以下JSON,正如我所期望的那样。
{
"plans": [
{
"planId":"1",
"planName":"Plan 1"
},
{
"planId":"2",
"planName":"Plan 2"
},
{
"planId":"3",
"planName":"Plan 3"
}
]
}
发布单个计划 createPlan 可以正常工作。
但是,当我尝试以 GET 返回的相同格式发布到 createPlans 时,我得到了响应 "Request JSON Mapping Error"。
JSON 格式是否错误?我的 REST 定义错了吗?
【问题讨论】: