Java 如何在Jersey REST webservice中返回数组?
我是REST webservice的新手,我尝试使用Jersey实现并编写了一个简单的webservice代码将列表返回给调用的客户端:Java 如何在Jersey REST webservice中返回数组?,java,jersey,Java,Jersey,我是REST webservice的新手,我尝试使用Jersey实现并编写了一个简单的webservice代码将列表返回给调用的客户端: @GET @Produces(MediaType.TEXT_XML) public GenericEntity<List<String>> stringlist() { List<String> list = Arrays.asList("test", "as"); return new GenericEnt
@GET
@Produces(MediaType.TEXT_XML)
public GenericEntity<List<String>> stringlist() {
List<String> list = Arrays.asList("test", "as");
return new GenericEntity<List<String>>(list) {
};
}
有人能帮我用一个简单的webservice代码将数组传递给客户端吗?您应该能够返回一些@XmlRootElement注释对象的列表并访问它们:
service.path("rest").path("getVal").accept(MediaType.TEXT_XML).get(new GenericEntity<List<MyObj>>{});
service.path(“rest”).path(“getVal”).accept(MediaType.TEXT_XML).get(newgenericentity{});
由于某些原因,对于普通字符串来说这更为复杂,您需要用JAXBElement封装它们
@GET
@Produces(MediaType.TEXT_XML)
public List<JAXBElement<String>> stringlist() {
Arrays.asList(new JAXBElement[] {
new JAXBElement(QName.valueOf("element1"), String.class, "ahoj"),
new JAXBElement(QName.valueOf("element2"), String.class, "nazdar")
};);
}
@GET
@生成(MediaType.TEXT\u XML)
公共列表字符串列表(){
Arrays.asList(新的JAXBElement[]{
新的JAXBElement(QName.valueOf(“element1”)、String.class、“ahoj”),
新的JAXBElement(QName.valueOf(“element2”)、String.class、“nazdar”)
};);
}
和前一种情况类似,但您需要“询问”请求
newgenericentity{}
@GET
@Produces(MediaType.TEXT_XML)
public List<JAXBElement<String>> stringlist() {
Arrays.asList(new JAXBElement[] {
new JAXBElement(QName.valueOf("element1"), String.class, "ahoj"),
new JAXBElement(QName.valueOf("element2"), String.class, "nazdar")
};);
}
new GenericEntity<List<JAXBElement<String>>>{}