如何在Logcat中查看Ktor HttpClient的完整JSON响应体?
使用Ktor HttpClient时响应体内容被截断的问题及临时解决方法
问题说明
使用Ktor HttpClient向https://api.github.com/users/$param/repos(其中$param为GitHub用户名,例如burakggs)发送GET请求时,无法查看完整的响应体内容,内容存在截断现象;但通过OkHttp库的HttpLoggingInterceptor可以正常看到完整响应内容。
临时解决方法
参考相关技术问答中的方案,将Ktor HttpClient的底层引擎替换为OkHttp,并配置HttpLoggingInterceptor来输出完整的请求与响应体,具体配置代码如下:
@Provides @Singleton fun provideHttpClient(): HttpClient { return HttpClient(OkHttp) { engine { val loggingInterceptor = HttpLoggingInterceptor() loggingInterceptor.level = HttpLoggingInterceptor.Level.BODY addInterceptor(loggingInterceptor) config { } } } }
现存担忧
当前方案依赖OkHttp引擎才能避免响应体截断问题,但如果后续为KMM项目选择其他引擎,可能会再次出现JSON响应体被截断的情况。
内容的提问来源于stack exchange,提问作者brkggs
相关产品推荐
相关产品推荐

