在云端点库中传递 Nullable 参数

Passing a Nullable parameter in cloud endpoint library

我正在与 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 Explorer

上测试时一切正常

完成所有这些之后,我为 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 只提供三个参数。如果我想通过 contactList 我该怎么做?在 registerUser 中没有传递它的选项。如果我尝试传递它,则会出现错误。

终于,我找到了自己的答案。在查看生成的库的一些代码后,我发现所有 @Nullable 参数都无法传递到函数中,但使用此函数设置检查下面的代码以便更好地理解。

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

生成的库自动创建一个函数来设置 @Nullable 参数,如 setContactList()