如果发生Gson错误,如何返回空模型

时间:2019-04-09 07:44:48

标签: android json kotlin gson retrofit

我在Android应用中使用Retrofit + Gson。 有时我会收到这样的异常:

  

预期为BEGIN_OBJECT,但位于第1行第1列路径$ STRING   retrofit2.converter.gson.GsonResponseBodyConverter.convert

我不希望服务器响应错误请求时我的应用程序崩溃。

如果发生此类错误,是否可以返回空的ResponseBody(模型)?

        val okHttpClient = OkHttpClient()
            .newBuilder()
            .readTimeout(5, TimeUnit.MINUTES)
            .writeTimeout(5, TimeUnit.MINUTES)
            .addInterceptor(TokenInterceptor(preferencesHelper))
            .addInterceptor(ClientInterceptor())
            .addInterceptor(mHttpLoggingInterceptor)
            .build()

 val gson = GsonBuilder()
            .setLenient()
            .create()

        return Retrofit.Builder()
            .baseUrl(...)
            .addConverterFactory(GsonConverterFactory.create(gson))
            .addCallAdapterFactory(CoroutineCallAdapterFactory())
            .client(okHttpClient)
            .build()
            .create(...)

0 个答案:

没有答案