kir*_*nkk 2 google-app-engine android endpoint google-cloud-endpoints
我想使用端点API将对象或列表数组发送到app引擎
@ApiMethod(name = "insertGroupMembers")
public List<GroupMembers> insertGroupMembers(Collection<GroupMembers> members) {
EntityManager mgr = getEntityManager();
List<GroupMembers> listMembers = new ArrayList<>();
try {
for (GroupMembers groupMember : members) {
mgr.persist(groupMember);
listMembers.add(groupMember);
}
} finally {
mgr.close();
return listMembers;
}
Run Code Online (Sandbox Code Playgroud)
但是它显示了生成api库时的错误如下: -
说明资源路径位置类型生成Cloud Endpoints类的API元数据时出现问题:com.google.api.server.spi.config.validation.CollectionResourceException:groupmembersendpoint.com.appbell.tagalone.GroupMembersEndpoint.insertGroupMembers参数(类型java .util.Collection):非法参数类型(集合类型'java.util.Collection'中的'class com.appbell.tagalone.GroupMembers').不允许使用数组或实体类型集合.TagAlone-AppEngine未知的Google App Engine云端点问题标记
我不记得我在哪里读它,但是 - 如果我没弄错 - CE不允许数组或列表作为方法参数.不要问我为什么.我记得看到的解决方案是将一个对象传递给方法,并将列表作为对象属性之一.
然后你的方法看起来像:
public List<GroupMembers> insertGroupMembers(MembersWrapper membersWrapper) {
for (GroupMembers groupMember : membersWrapper.members) {
mgr.persist(groupMember);
listMembers.add(groupMember);
}
…
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2414 次 |
| 最近记录: |