火狐模拟POST请求的两种方式
传参方式一:参数名1=值1&参数名2=值2……
示例:请求信息,注意头部信息设置
接收部分--代码
@RestController
public class UserController {
@Autowired
private UserService userService;
/**
* 用户登录
*
* @param loginInfo
* 电话/邮件
* @param password
* 密码
* @param appToken
* appToken
* @return 用户登录信息
*/
@RequestMapping(value = "/login",method = RequestMethod.POST)
public ResultObject login(@RequestParam("loginInfo") String loginInfo,
@RequestParam("password") String password,
@RequestParam("appToken") String appToken) {
System.out.println("请求路径:/login"+"\n"+"{"+"\n"+
"loginInfo:"+loginInfo+"\n"+
"password:"+password+"\n"+
"appToken:"+appToken+"\n"+
"}"
);
ResultObject ro = null;
return ro;
}
}
接收部分--打印结果
传参方式2:以body的形式传参,注意头部信息
接收部分--代码
@RestController
public class UserController {
@Autowired
private UserService userService;
/**
* 用户登录
*
* @param loginInfo
* 电话/邮件
* @param password
* 密码
* @param appToken
* appToken
* @return 用户登录信息
*/
@RequestMapping(value = "/login",method = RequestMethod.POST)
public ResultObject login(@RequestBody UserLogin user) {
System.out.println("请求路径:/login"+"\n"+"{"+"\n"+
"loginInfo:"+user.getLoginInfo()+"\n"+
"password:"+user.getPassword()+"\n"+
"appToken:"+user.getAppToken()+"\n"+
"}"
);
ResultObject ro = userService.addLogin(user.getLoginInfo(),
user.getPassword(),user.getAppToken());
return ro;
}
}
备注:由于传的是一个body过来,所以需要使用一个对象接收,该实例的对象为UserLogin,如下
public class UserLogin {
// 登录信息
private String loginInfo;
// 密码
private String password;
//app_token
private String appToken;
public String getLoginInfo() {
return loginInfo;
}
public void setLoginInfo(String loginInfo) {
this.loginInfo = loginInfo;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getAppToken() {
return appToken;
}
public void setAppToken(String appToken) {
this.appToken = appToken;
}
}
总结:
1.当传参个数比较少时,采用第一种方式;反之,采用第二种方式。
2.当所传的参数已在工程中的model中时,采用第二种方式,这种情况,不需要建立单独的实体接收bean。