Android 为什么谷歌云端点会颠倒我的参数顺序?

Android 为什么谷歌云端点会颠倒我的参数顺序?,android,google-cloud-endpoints,Android,Google Cloud Endpoints,我有以下端点方法: public class PlayerEndpoint { private static final String PLAYER_NAME = "player_name"; private static final String PLAYER_UUID = "player_uuid"; @ApiMethod(name = "register", httpMethod = ApiMethod.HttpMethod.POST, path="register")

我有以下端点方法:

public class PlayerEndpoint {
  private static final String PLAYER_NAME = "player_name";
  private static final String PLAYER_UUID = "player_uuid";

  @ApiMethod(name = "register", httpMethod = ApiMethod.HttpMethod.POST, path="register")
  public Player register(@Named(PLAYER_UUID) String uuid,
                         @Named(PLAYER_NAME) String playerName) {
  log.info(String.format("Registering user uuid: %s name: %s", uuid, playerName));
  ...
  }
}
当我从Android客户端调用此命令时:

String uuid = "test_uuid";
String name = "test_name";
playerEndpoint.register(uuid, name).execute();
后端日志:

Registering user uuid: test_name name: test_uuid

这是怎么回事?

我知道了。显然端点按字母顺序对方法进行排序

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


如果不指定方法的路径属性,则不会发生这种情况。是虫子吗?谢谢你!我已经浪费了很多时间调试,因为这个“功能”!不敢相信SDK 1.9.50中存在此问题-目前最新版本。已经一年了…我在这上面浪费了一个小时。