代码之家  ›  专栏  ›  技术社区  ›  Azeem Haider

在云端点库中传递可为null的参数

  •  0
  • Azeem Haider  · 技术社区  · 8 年前

    我在和 Google Cloud Endpoint 对于Java。我创建了一些端点。 这是其中之一。

    public User registerUser(@Named("lat") double lat, @Named("lng") double lng, @Nullable @Named("contactList") List<Long> contactList, User user){
    

    如你所见 contactList 注释为 @Nullable 有时我需要这个参数,有时不需要。当我在上面测试时,一切正常 API浏览器

    在所有这些之后,我为Android生成了客户端库。我就是这样用的。

    MyApi.Builder builder = new MyApi.Builder(AndroidHttp.newCompatibleTransport(), new JacksonFactory(), null);
        MyApi service = builder.build();
    
     service.account().registerUser(31.024937, 73.847913, user);
    

    registerUser 仅提供三个参数。如果我想通过 联系人列表 我该怎么做?没有办法把它传进来 登记员 .如果我试图通过它,就会出现错误。

    1 回复  |  直到 8 年前
        1
  •  0
  •   Azeem Haider    8 年前

    最后,我找到了答案。在查看生成库的一些代码后,我发现一些 @Nullable 无法将参数传递到函数中,但可以使用此函数进行设置。请检查下面的代码,以便更好地理解。

     service.account().registerUser(31.024937, 73.847913, user)
     .setContactList(contactList).execute();
    

    生成的库自动创建用于设置的函数 @可为空 参数如 setContactList() .