Intereting Posts
Android.widget.RelativeLayout $ LayoutParams нельзя отбрасывать в android.widget.AbsListView $ LayoutParams Как я могу обрабатывать изменение ориентации, чтобы Фрагмент не загружался? Есть ли способ заменить или отключить звук затвора камеры в Android? Android custom Expandablelistview не запускает onChildClick Открыть .txt-приложение из электронной почты в приложении Android Android: как использовать строковое значение xml для определения ориентации макета Невозможно получить неявные намерения работать Пользовательский макет Android – onDraw () никогда не вызывается Распознавание лиц с использованием android sdk not opencv Перехватывать HTTP-запросы, отправленные из приложения Android. В биллинге приложения не работает в новой версии моего приложения Установите ориентацию на пейзаж в андроиде с обеих сторон Статические библиотеки Webrtc на Android Мой MacBook Pro не обнаружит мою галактику s6 ssung Как хранить данные в базе данных sqlite с помощью jQuery-mobile dreamviewer cc с телефонной связью в android?

Retrofit 2: @FormUrlEncoded с полями по умолчанию

Мне нужно отправить запрос с заголовком application/x-www-form-urlencoded . Ответ – список некоторых музыкальных альбомов в формате JSON. Могут быть два необязательных параметра: total (значение по умолчанию = 5) и begin (значение по умолчанию = 0)

Вот интерфейс, который я использую для отправки этого запроса:

 public interface MusicService { @Headers("Accept: Application/JSON") @FormUrlEncoded @POST("album/featured-albums") Call<List<Album>> listFeaturedAlbums(@Field("total") int total, @Field("begin") int begin); } 

Вопрос в том, как я могу установить значение по умолчанию для одного или обоих этих полей, так что мне не нужно отправлять параметры в каждом запросе. Например, я хочу получить 30 предметов по каждому запросу и просто играть с полем « Начало» . Или, возможно, я хочу использовать значения по умолчанию для обоих полей:

 public interface MusicService { @Headers("Accept: Application/JSON") @FormUrlEncoded @POST("album/featured-albums") Call<List<Album>> listFeaturedAlbums(); } 

При этом я получаю сообщение об ошибке:

Java.lang.IllegalArgumentException: Form-encoded метод должен содержать по крайней мере один @Field.

На данный момент я не думаю, что вы можете сделать это не в хакерской манере.

Ребята в retrofit работают над добавлением этой функции: Разрешите указывать значения по умолчанию @Field. # 951

Вы можете следить за этой веткой, когда она будет завершена. Или помогите им и отправьте PR 🙂