【问题标题】:Arguments to Endpoints method change orderEndpoints 方法更改顺序的参数
【发布时间】:2015-06-09 11:20:30
【问题描述】:

我将 Google App Engine 与 Cloud Endpoints 一起用于一个简单的 Android 应用程序。在后端,我有以下 API 方法,部署到 GAE:

@ApiMethod(name = "getGroupInfo", path = "groups")
public GroupInfo getGroupInfo(@Named("session") String sessionString, @Named("groupID") String groupID)
                                                        throws ForbiddenException
{
    Logger.getAnonymousLogger().warning("Session string is: " + sessionString);
    Logger.getAnonymousLogger().warning("GroupID is: " + groupID); }

问题是,当我从 Android 客户端调用该方法时,参数以相反的顺序传递给该方法:我作为客户端中的第一个参数传递的字符串是服务器后端中的组 ID,反之亦然。

任何帮助将不胜感激,谢谢!

【问题讨论】:

    标签: android google-app-engine google-cloud-endpoints


    【解决方案1】:

    您可以在此处阅读 [1]:

    生成的客户端库中的方法参数是按字母顺序排列的,与后端方法中的原始顺序无关。因此,在编辑方法时应该小心,尤其是当有多个相同类型的参数时。编译器将无法为您捕获参数排序错误。

    [1]https://cloud.google.com/solutions/mobile/google-cloud-endpoints-for-android/

    【讨论】:

    • 哦,我没想到会这样。那么它们是按@Named 中的字符串还是按参数类型排序的呢?
    • 按字符串排序(参数名)
    • 如果您不指定方法的路径属性,则不会发生这种情况。这是一个错误吗?
    猜你喜欢
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    相关资源
    最近更新 更多