在云端点库中传递Nullable参数

时间:2018-05-20 07:02:16

标签: android google-cloud-endpoints-v2

我正在使用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中传递它。如果我试图通过它,则会出现错误。

1 个答案:

答案 0 :(得分:1)

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

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

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