联网处理之如何把json作为参数传递,要用【RequestBody】

来源:互联网 发布:敏感肌肤 面膜 知乎 编辑:程序博客网 时间:2024/06/16 17:28

先来看一个例子,通过json传值来获取登录信息,下图的postman的演示:


注意:用的Post方式,Body中用raw选项,传的是json数据

联网框架okhttp+retrofit+Rxjava 处理如下:

在统一的接口文件中的方法:@POST("members/auth")Observable<LoginBean> doLogin(@Body RequestBody requestBody);//这个RequestBody如何获得

//这是{"username":"admin","password":"admin"}的bean文件LoginRequestBean loginRequestBean = new LoginRequestBean();  loginRequestBean.setUsername("admin");  loginRequestBean.setPassword("admin");  Gson gson = new Gson();  String toJson = gson.toJson(loginRequestBean);  RequestBody requestBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), toJson); 


public class LoginRequestBean {    private String username;    private String password;    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }}