0

我正在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. 如果我尝试通过它,则会出现错误。

4

1 回答 1

0

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

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

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

于 2018-05-20T13:18:18.630 回答