最近项目中遇到一个无body返回,只有状态码的网络请求,报java.lang.NullPointerException: Null is not a valid element错误,追寻原因发现Rxjava2的onNext()需要返回一个body,不然会走onError(),回调中抛以上错误。
解决方案
- 让后台返回一个body。
- 不要使用Observable<ResponseBody>作为返回值,改用Call<ResponseBody>作为返回值。
- 将Observable<ResponseBody>改为Observable<Response<Void>> 作为返回值(最为推荐)。注:Response是retrofit2包中里面的
每天进步一点点,量变引起质变。在浮躁的世界里,静下心来,慢步前进,总会获得你想要的。
参考
Retrofit +RxJava2 出现 java.lang.NullPointerException: Null is not a valid element
网友评论