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中存在此问题-目前最新版本。已经一年了…我在这上面浪费了一个小时。