我想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