【发布时间】:2012-11-09 23:16:19
【问题描述】:
如果我转移具有 @XmlRoolElement 的类 ( MyClass ),此代码可以正常工作
客户
WebResource webResource = restClient.resource(getRessourceURL());
return webResource.get( new GenericType<List<MyClass>>(){} );
但是,如果我尝试传输一个原语,如字符串、整数、布尔值等...
客户
WebResource webResource = restClient.resource(getRessourceURL());
return webResource.get( new GenericType<List<Integer>>(){} );
我得到了错误:
无法将类型“java.lang.Integer”编组为元素,因为它缺少 @XmlRootElement 注释
向我的请求发送实体参数时得到完全相同的结果:
客户
WebResource webResource = restClient.resource(getRessourceURL());
return webResource.post( new GenericType<List<Integer>>(){}, Arrays.toList("1"));
服务器
@GET
@Path("/PATH")
@Produces(MediaType.APPLICATION_JSON)
public List<MyClass> getListOfMyClass( List<Integer> myClassIdList)
{
return getMyClassList(myClassIdList);
}
有没有一种方法可以在不为每个原始类型创建包装类的情况下传输这种列表?还是我遗漏了一些明显的东西?
【问题讨论】:
标签: java json list jaxb jersey