Простой и удобный HTTP-фреймворк.
Использует метод интерфейсов с аннотациями для определения запросов. Основной принцип: рефлексия + динамическое прокси. HTTP реализация: OkHttp3
Добавьте
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
//Необходимо добавить библиотеку рефлексии
implementation 'org.jetbrains.kotlin:kotlin-reflect:1.3.71'
implementation 'com.github.maybesix:XHHttp:Tag'
}
interface HttpRequest {
companion object {
fun instance(config: XHHttpConfig? = null): HttpRequest {
return XHHttp.getInstance(HttpRequest::class.java, config)
}
}
@GET("wxarticle/chapters/json")
fun getChapters(_callback: ObserverCallBack?)
@POST("article/query/0/json")
fun search(_callback: ObserverCallBack?, k: String = "kotlin")
}
HttpRequest.instance().getChapters(
callbackOf<String> {
success {
}
},"0")
Аннотация | Место применения | Описание |
---|---|---|
@GET | Метод интерфейса | Указывает, что данный метод является GET-запросом |
@POST | Метод интерфейса | Указывает, что данный метод является POST-запросом |
Для сложных параметров используются следующие аннотации:|Аннотация|Место применения|Описание| |---|---|---| |@Path | Параметры интерфейса | Для динамической замены полей в URL метода интерфейса | |@Param | Параметры интерфейса | Для указания того, что данный параметр представляет собой объект класса | |@ParamRename | Объект класса внутри параметра | Для указания имени поля объекта класса, которое используется при формировании URL | |@ParamIgnore | Объект класса внутри параметра | Для игнорирования определенного поля |Дополнительная информация доступна по ссылкам ниже:
Если вам помог этот проект, пожалуйста, поддержите автора!
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )