5

我正在使用 Google App Engine Cloud Endpoints 并尝试接收一个集合参数。不确定我是否可以做到这一点。我知道我可以返回一个列表或任何集合。

这:

   public List<Pair> initializationSetup(Pair pPair){}

工作正常,但如果我尝试接收对列表,则不会创建 .api 文件。

   public List<Pair> initializationSetup(List<Pair> pPairs){

谢谢

4

2 回答 2

11

Cloud Endpoints 仅处理具有 bean 标准的类。

因此,我创建了一个名为 ObjectListContainer 的新类:

public class ObjectListContainer {
    public List<Object> getObjectsList() {
        return ObjectsList;
    }
    public void setObjectsList(List<Object> objectsList) {
        ObjectsList = objectsList;
    }
    private List<Object> ObjectsList;
}

如果你试图返回一个字符串,同样的问题,你不能。您必须制作一个 StringContainer。

于 2013-02-21T16:59:00.137 回答
1

经过长时间思考后,我使用了类似的解决方案。试试这个:

public class JsonList<T> { 
private List<T> listItens;

public List<T> getListItens() {
    return listItens;
}

public void setListItens(List<T> listItens) {
    this.listItens = listItens;
}}

并在您的方法中:

@ApiMethod(
        name = "name",
        path = "path",
        httpMethod = ApiMethod.HttpMethod.POST)
public CollectionResponse<Information> getInformation(JsonList<String> listOfItens) {}
于 2016-02-27T05:13:05.437 回答