1

我有以下 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;
}

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

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

4

1 回答 1

2

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

return Arrays.toString(arr);

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

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

于 2013-03-02T01:50:15.810 回答