在云端点库中传递 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()
。
我正在与 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()
。