小编Mas*_*son的帖子

不应命名Cloud Endpoint参数

我想HashMap<String, String>从JS应用程序发送一个到我的Google App.我创建了一个HashMapContainer类,例如:Cloud Endpoints Collection Parameter.

Endpoint方法定义如下:

public Entity myMethod(
        @Named('param1') String param1, 
        @Nullable @Named('param2') HashMapContainer param2) {
    //...
}
Run Code Online (Sandbox Code Playgroud)

当我运行API生成时,会发生以下错误:

com.google.api.server.spi.config.validation.ApiConfigInvalidException: 
    Resource type 'class com.mason.server.entity.HashMapContainer' 
    in method 'endpoint.myMethod' should not be named.
Run Code Online (Sandbox Code Playgroud)

因此,我删除了@Named注释.生成了API,但很明显,我没有收到JS应用程序发送的参数.我的JavaScript是这样的:

function doTransaction() {
    var req = gapi.client.myApi.endpoint.myMethod({
        'param1': 'FOO',
        'param2': {
            'value1':'foofoo',
            'value2':'barbar',
            'value3':'foobar'
        }
    });
    req.execute(function(data) {
        console.log(data);
    });
}
Run Code Online (Sandbox Code Playgroud)

param2如果我不被允许使用@Named注释,我怎么能得到?
也许我的JavaScript错了?

javascript java google-app-engine google-api google-cloud-endpoints

5
推荐指数
1
解决办法
3492
查看次数