网络请求和网络测试
implementation 'com.github.liangjingkanji:Net:3.6.4'
implementation 'com.squareup.okhttp3:okhttp:4.12.0'debug 模式
app/src/main/java/com/ruoyi/app/App.kt
OKHttpUtils.initialize(this)
fun initialize(context: Context) {
NetConfig.initialize(ConfigApi.baseUrl, context) {
// 超时设置
connectTimeout(30, TimeUnit.SECONDS)
readTimeout(30, TimeUnit.SECONDS)
writeTimeout(30, TimeUnit.SECONDS)
// 本框架支持Http缓存协议和强制缓存模式
cache(Cache(context.cacheDir, 1024 * 1024 * 128))
// 缓存设置, 当超过maxSize最大值会根据最近最少使用算法清除缓存来限制缓存大小
// LogCat是否输出异常日志, 异常日志可以快速定位网络请求错误
setDebug(BuildConfig.DEBUG)
// AndroidStudio OkHttp Profiler 插件输出网络日志
addInterceptor(LogRecordInterceptor(BuildConfig.DEBUG))
// 添加持久化Cookie管理
cookieJar(PersistentCookieJar(context))
// 統一 异常处理
setErrorHandler(ErrorHandler())
// 通知栏监听网络日志
if (BuildConfig.DEBUG) {
addInterceptor(
ChuckerInterceptor.Builder(context)
.collector(ChuckerCollector(context))
.maxContentLength(250000L)
.redactHeaders(emptySet())
.alwaysReadResponseBody(false)
.build()
)
}
// 添加请求拦截器, 可配置全局/动态参数
setRequestInterceptor(RequestInterceptor())
// 数据转换器
setConverter(SerializationConverter())
// 自定义全局加载对话框
setDialogFactory {
BubbleDialog(it, Frame.getString(R.string.bubble_loading_title))
}
}
}debug 模式 日志的输出模式
ChuckerInterceptor 拦截器 ,为了更好处理网络数据
怎么使用
配置 API 地址
app/src/main/java/com/ruoyi/app/api/ConfigApi.kt
const val baseUrl = "http://vue.ruoyi.vip/prod-api"
const val login = "/login";// 登录 Post<LoginEntity>(ConfigApi.login) {
body = OKHttpUtils.getRequestBody(
LoginRequest(
code,
password,
username,
uuid ?: ""
)
)
}.await()
接口地址
post 请求方式
里面放回来的数据 转换为实体如果以上内容对您有帮助,请老板用微信扫一下赞赏码。


