网络框架post请求有点问题

来源:5-4 Restful请求的处理-2

默小铭

2019-03-14

服务器要以application/json的方式post请求
我在这边这样调用
RxRestClient.create()
                .lastUrl(BaseConstant.URL_CATEGORY)
                .raw("{\"parentId\":\"0\"}")
                .build().post()

在RxRestClient类里面,下面注释部分的代码会报空指针异常

public final Observable<String> post() {
        if (mBody == null) {
            return request(HttpMethod.POST);
        } else {
        //    if (!mParams.isEmpty()) {
       //         throw new RuntimeException("params must be null!");
      //      }
            return request(HttpMethod.POST_RAW);
        }
    }

java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.util.WeakHashMap.isEmpty()' on a null object reference

请问下源码是不是有问题,

另外看到评论里面有群可以加,能麻烦老师拉下群吗,不知道自己下载的源码是否是最新的 QQ:445266487

写回答

1回答

傅猿猿

2019-03-14

使用方法不对啦,你想一般的post请求会有两种形式,你要记得啊,是两种形式,一种是以form data的形式的,还有一种呢,就是json请求体内包含的一系列的二进制的数据,那么如果你刚才我看到你的数据,其实是一些form对他,所以你直接用那params直接往里add的就可以了。

0
1
默小铭
可能有点没看懂老师说的,我这边服务器只接受json的请求体,默认的post使用了@FormUrlEncoded,也就是说只要调用post请求,都会以表单的形式提交,最后我还是以我上面的方案,然后将报异常的地方多做一个判空处理解决了,不过还是感谢老师回复
2019-03-14
共1条回复

Android通用框架设计与完整电商App开发

从第一行代码开始教你,通用且一键式配置的框架设计并轻松实现完整电商App

2028 学习 · 1182 问题

查看课程