Ответ
В моем проекте запросы клиент-сервер описаны в слое network или api. Обычно это:
- Интерфейсы Retrofit (Kotlin):
interface ApiService {
@GET("users/{id}")
suspend fun getUser(@Path("id") userId: String): UserResponse
}
-
Конфигурация клиента (OkHttp + Retrofit) в отдельном классе (например,
ApiClient). -
DTO-модели для запросов/ответов в пакете
modelилиdto.
Для больших проектов может быть разделение по фичам: auth/api, profile/api и т.д. Все endpoint'ы вынесены в константы (ApiEndpoints.USERS).
Важно: используется DI (Koin/Dagger) для инжекта API, а также обработка ошибок через sealed class/Result.