Передача параметра, допускающего значение NULL, в библиотеке конечных точек облака

Я работаю с 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. Если я попытаюсь передать его, появится ошибка.

0
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Наконец, я нашел ответ самому себе. Посмотрев некоторый код сгенерированной библиотеки, я обнаружил, что все параметры @Nullable не могут быть переданы в функцию, но установлены с помощью этой функции, проверьте код ниже для лучшего понимания.

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

Созданная библиотека автоматически создает функцию для настройки параметров @Nullable, например, setContactList().

Другие вопросы по теме