Posted in Java/Android onNovember 02, 2021
目录
请求数据
- id:1
- roleName:admin
- roleDes:拥有admin权限
Controller几种处理方式
第一种
@ApiOperation("查询用户")
@PostMapping("/detailByParam")
public void detailByParam(@RequestParam (value = "id") Integer id,@RequestParam(value = "roleName") String roleName,@RequestParam(value = "roleDes") String roleDes) {
System.out.println(">>>id="+id+",roleName="+roleName+",roleDes="+roleDes);
}
打印信息:
>>>id=1,roleName=admin,roleDes=拥有admin权限
第二种
@ApiOperation("查询用户")
@PostMapping("/detailByParam")
public void detailByParam(@RequestParam Map<String, String> params) {
System.out.println(">>>id="+params.get("id")+",roleName="+params.get("roleName")+",roleDes="+params.get("roleDes"));
}
打印信息:
>>>id=1,roleName=admin,roleDes=拥有admin权限
第三种
@ApiOperation("查询用户")
@PostMapping("/detailByParam")
public void detailByParam(@RequestBody String params) {
System.out.println(">>>"+params);
}
打印信息:
>>>id=1&roleName=admin&roleDes=%E6%8B%A5%E6%9C%89admin%E6%9D%83%E9%99%90
第四种
@ApiOperation("查询用户")
@PostMapping("/detailByParam")
public void detailByParam(@RequestBody GetRoleParam getRoleParam) {
System.out.println(">>>"+getRoleParam);
}
返回错误信息:
“Content type ‘application/x-www-form-urlencoded;charset=UTF-8' not supported”
SpringMVC application/x-www-form-urlencoded接收方式测试
前提:为了便于理解
- 类全部使用@Controller,不使用RestController
- 方法使用@RequestMapping
- postman都是如下请求
1.参数前不加注解
1.1 request
成功!
1.2 map
失败!
1.3 pojo
成功!
2.参数前添加@RequestParam
2.1 request
失败!
2.2 map
成功!
2.3 poji
失败!
3.参数前添加@RequestBody
3.1 request
失败!
3.2 map
失败!
3.3 pojo
失败!
小结一下
Request |
Map |
Pojo |
|
不加注解 |
√ |
× |
√ |
@RequestParam |
× |
√ |
× |
@RequestBody |
× |
× |
× |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。
springboot如何接收application/x-www-form-urlencoded类型的请求
- Author -
夕雨- Original Sources -
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@