Тело или Response<T>
Вопрос
Когда возвращать из метода Retrofit тело, а когда Response<T>?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Ответ
Тело (ArticleDto): удобно, не-2xx бросает HttpException, сеть бросает IOException. Response<T>: нужно смотреть код, заголовки (пагинация, ETag), тело ошибки без исключения; body() будет null при ошибке. Для 204 No Content используют Response<Unit>.
Разбор
Тело (ArticleDto): удобно, не-2xx бросает HttpException, сеть бросает IOException. Response<T>: нужно смотреть код, заголовки (пагинация, ETag), тело ошибки без исключения; body() будет null при ошибке. Для 204 No Content используют Response<Unit>.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Сеть: Retrofit и OkHttp»
- Где обновлять токен при 401
- HTTP без шифрования в Android
- Gson и non-null поля Kotlin
- Новое поле в JSON и kotlinx.serialization
- Application и network интерцепторы
- HttpLoggingInterceptor в release
- Один OkHttpClient на приложение
- Путь запроса через цепочку OkHttp