做登录的时候,使用postman可以获取返回值,但是使用Retrofit做的时候就报错,Debug一下,发现返回code为400,message为Required request body is missing
1.查看使用postman的时候,默认使用body-raw,虽然是以json的形式写入,但是其实是纯字符串的形式,并不是json
2.如果使用json串的形式去访问的话,postman需要使用body-Form-data的方式
3.修改代码如下:
APIInterface中:
@Headers("Content-Type: application/json") @POST(URL_API.URL_LOGIN) Observable<LoginBean> loginUP(@Body UserBean userBean);
LoginModel中:
RetrofitUtils.newInstence(URL_API.BASE_URL)//实例化Retrofit对象 .create(APIInterface.class)//创建Rxjava---->LoginService对象 .loginUP(new UserBean(userInfo.getUsername(), userInfo.getPassword()))//调用登录的接口 .subscribeOn(Schedulers.newThread())//在新线程中执行登录请求 .observeOn(AndroidSchedulers.mainThread())//在主线程中执行