abler98
@abler98
Software Engineer

Retrofit 2. Как задать значение для Boolean параметров?

Имеется простой сервис:
public interface CatalogService
{
    @GET("catalog")
    Observable<PaginationData<CatalogItem>> paginate(
            @Query("category") int category,
            @Query("favorite") boolean favorite,
            @Query("page") int page
    );
}


В итоге получается примерно следующий запрос:
http://example.com/api/v1/catalog?category=1&favorite=true&page=2


Мне нужно, чтобы favorite заменялся на 1 (если true) или 0 (если false). Как это можно сделать?

Сейчас же на выходе получается строка true/false, что не очень удобно. Неужели нужно везде писать isFavorite() ? 1 : 0 ?

P.S. Я не ленивый, просто хочется красивое решение.
  • Вопрос задан
  • 289 просмотров
Пригласить эксперта
Ответы на вопрос 1
gadfi
@gadfi
https://gamega.org
извините а в чем красота ? в url число, логично что и в сервисе будет число, это позволит избежать путаницы
Если у вас есть модель в которой есть свойство boolean favor добавьте в модель метод
int getFavor(){
    return favor ?1:0;
}

и не замарачивайтесь, то что в сервисе точное отображение url позволяет избежать проблем и путаницы
Ответ написан
Ваш ответ на вопрос

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

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