端点API方法列表或数组参数数组、参数、方法、列表

2023-09-06 04:52:18 作者:离愁扼喉

我想用传送对象或列表的数组应用程序引擎的端点API

I want to send array of object or list to app engine using endpoint API

@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;

}

但它示出了在时间产生API库的误差如下: -

But it shows the error at the time generating api library as follows :-

描述资源路径位置类型 有一个问题产生的API元数据的云端点类:com.google.api.server.spi.config.validation.CollectionResourceException:groupmembersendpoint.com.appbell.tagalone.GroupMembersEndpoint.insertGroupMembers参数(类型的java.util.Collection) :非法参数类型(类com.appbell.tagalone.GroupMembers在集合类型的java.util.Collection)。数组或实体类型的集合是不允许的。 TagAlone-AppEngine上未知的谷歌的App Engine云端点问题标记

Description Resource Path Location Type There was a problem generating the API metadata for your Cloud Endpoints classes: com.google.api.server.spi.config.validation.CollectionResourceException: groupmembersendpoint.com.appbell.tagalone.GroupMembersEndpoint.insertGroupMembers parameter (type java.util.Collection): Illegal parameter type ('class com.appbell.tagalone.GroupMembers' in collection type 'java.util.Collection'). Arrays or collections of entity types are not allowed. TagAlone-AppEngine Unknown Google App Engine Cloud Endpoints Problem Marker

推荐答案

我不记得我读它,但是,如果我没有记错,CE不允许数组或列表的方法参数。不要问我为什么。我记得看到的解决方案是将对象传递给方法的列表作为对象的一个​​属性。

I don't remember where I read it, but–if I'm not mistaken–CE does not allow arrays or lists as method parameters. Don't ask me why. The solution I remember seeing was to pass an object to the method with the list as one of the object properties.

那么你的方法是这样的:

Then your method would look like:

public List<GroupMembers> insertGroupMembers(MembersWrapper membersWrapper) {
  for (GroupMembers groupMember : membersWrapper.members) {
    mgr.persist(groupMember);
    listMembers.add(groupMember);
  }
  …
}
 
精彩推荐
图片推荐