如何从Restful Web服务返回一个数组?

时间:2013-03-02 01:23:14

标签: java web-services rest debugging jax-rs

我有以下要返回的Web服务和数组

的值
@GET
@Consumes("text/plain")
@Produces("text/plain")
public String[] getText(@PathParam("name") String Uname) {
    //TODO return proper representation object
    System.out.println("In Method " + Uname);
    String arr[]=null;
     arr=new String[2];
    arr[0]="demo";
    arr[1]="demo2";
    return arr;
}

但是当我测试这个Web服务时,它给了我这个错误:GET RequestFailed RequestFailed --> Status: (406) Response: {

那么,如果我想从REST Web服务返回一个数组,该怎么办?

1 个答案:

答案 0 :(得分:2)

HTTP响应不支持纯文本响应中的数组。您需要手动将数组表示为String,将返回类型更改为String并返回如下:

return Arrays.toString(arr);

或者您可以将数组转换为List:     return Arrays.asList(arr);

并使用该方法将其作为JSON或XML返回: Jersey: Return a list of strings