安卓中使用Retrofit 请求字符串接口(非JSON数据)

背景

接口返回的数据不是json格式的,而是普通字符串,那平常的retrofit调用方式就有问题了.

解决方案

  1. 添加依赖
    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

附录

参考:https://blog.csdn.net/jdsjlzx/article/details/51520981

你可能感兴趣的:(安卓中使用Retrofit 请求字符串接口(非JSON数据))