@foonfyrick

Retrofit, что делают эти параметры аннотации?

1) Аннотация @Field у которой есть параметры value и encoded, я не могу понять как она работает. На тестовый сайт я могу отправить pojo, pojo состоит из 4-ех полей, body, id, title, userId, но используя эту аннотацию, я могу отправить от 1 до 4 полей и ответ от сервера будет положительный, почему? Как работает encoded = true ? Я ставлю в true и не вижу разницы от ответа.

@FormUrlEncoded
    @POST("/posts")
    fun post(@Field("title",encoded = true) title:String):Call<ResponseBody>


2) В какой ситуации нужно использовать аннотацию @OPTION S ? Написано, что должна содержать полный url адрес к конечной точке, а для чего? Ведь весь путь можно и так прописать без этой аннотации. Тоже самое написано и у аннотаций @HEAD, @HTTP.
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
Почему сервер отвечает на запрос, который, я так понял, ты считаешь некорректным, вопрос к создателю сервера, здесь тебе на него не ответят.
Encoded нужно чтобы закодировать через % данные, которые не могут быть частью URI.
Видимо, бывают ситуации, когда хочется через один retrofit-сервис ходить в URI с разными хостами/схемами. Если тебе оно не нужно, просто не используй. Понадобится - вспомнишь и заюзаешь.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы