1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/maybesix-XHHttp

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

XHHttp

Описание

Простой и удобный 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'
	}
  1. Определите интерфейс
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")

}
  1. Вызов запроса
HttpRequest.instance().getChapters(
callbackOf<String> {
    success {
    }
},"0")
  1. Аннотации
Аннотация Место применения Описание
@GET Метод интерфейса Указывает, что данный метод является GET-запросом
@POST Метод интерфейса Указывает, что данный метод является POST-запросом

Для сложных параметров используются следующие аннотации:|Аннотация|Место применения|Описание| |---|---|---| |@Path | Параметры интерфейса | Для динамической замены полей в URL метода интерфейса | |@Param | Параметры интерфейса | Для указания того, что данный параметр представляет собой объект класса | |@ParamRename | Объект класса внутри параметра | Для указания имени поля объекта класса, которое используется при формировании URL | |@ParamIgnore | Объект класса внутри параметра | Для игнорирования определенного поля |Дополнительная информация доступна по ссылкам ниже:

https://www.jianshu.com/p/024994e8dcf2

https://juejin.im/post/5eae55afe51d454dd940636a

Если вам помог этот проект, пожалуйста, поддержите автора! Alipay

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Простой и удобный HTTP-фреймворк. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/maybesix-XHHttp.git
git@api.gitlife.ru:oschina-mirror/maybesix-XHHttp.git
oschina-mirror
maybesix-XHHttp
maybesix-XHHttp
master