安卓中使用Retrofit 请求字符串接口(非JSON数据)
2020-11-02 本文已影响0人
蓝不蓝编程
背景
接口返回的数据不是json格式的,而是普通字符串,那平常的retrofit调用方式就有问题了.
解决方案
- 添加依赖
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
2.修改retrofit构造类,采用ScalarsConverterFactory
作为转换器
private fun getNetworkService(): NetworkService {
val okHttpClient = OkHttpClient.Builder().build()
val retrofit = Retrofit.Builder()
.client(okHttpClient)
.baseUrl("https://gitee.com/")
.addConverterFactory(ScalarsConverterFactory.create())
.build()
return retrofit.create(NetworkService::class.java)
}
3.修改接口返回数据类型为字符串
interface NetworkService {
@GET("cxyzy1/xx")
suspend fun query(): String
}
参考代码
https://gitee.com/cxyzy1/browse-beauty