Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Jersey REST webservice中返回数组?_Java_Jersey - Fatal编程技术网

Java 如何在Jersey REST 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

我是REST webservice的新手,我尝试使用Jersey实现并编写了一个简单的webservice代码将列表返回给调用的客户端:

@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>>>{}