服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - springboot如何接收application/x-www-form-urlencoded类型的请求

springboot如何接收application/x-www-form-urlencoded类型的请求

2022-03-09 00:44夕雨 Java教程

这篇文章主要介绍了springboot如何接收application/x-www-form-urlencoded类型的请求,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

请求数据

  • 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都是如下请求

springboot如何接收application/x-www-form-urlencoded类型的请求

1.参数前不加注解

1.1 request

springboot如何接收application/x-www-form-urlencoded类型的请求

springboot如何接收application/x-www-form-urlencoded类型的请求

成功!

1.2 map

springboot如何接收application/x-www-form-urlencoded类型的请求

springboot如何接收application/x-www-form-urlencoded类型的请求

失败!

1.3 pojo

springboot如何接收application/x-www-form-urlencoded类型的请求

springboot如何接收application/x-www-form-urlencoded类型的请求

springboot如何接收application/x-www-form-urlencoded类型的请求

成功!

2.参数前添加@RequestParam

2.1 request

springboot如何接收application/x-www-form-urlencoded类型的请求

springboot如何接收application/x-www-form-urlencoded类型的请求

失败!

2.2 map

springboot如何接收application/x-www-form-urlencoded类型的请求

成功!

2.3 poji

springboot如何接收application/x-www-form-urlencoded类型的请求

springboot如何接收application/x-www-form-urlencoded类型的请求

springboot如何接收application/x-www-form-urlencoded类型的请求

失败!

3.参数前添加@RequestBody

3.1 request

springboot如何接收application/x-www-form-urlencoded类型的请求

springboot如何接收application/x-www-form-urlencoded类型的请求

失败!

3.2 map

springboot如何接收application/x-www-form-urlencoded类型的请求

springboot如何接收application/x-www-form-urlencoded类型的请求

失败!

3.3 pojo

springboot如何接收application/x-www-form-urlencoded类型的请求

springboot如何接收application/x-www-form-urlencoded类型的请求

失败!

小结一下

 

Request

Map

Pojo

不加注解

×

@RequestParam

×

×

@RequestBody

×

×

×

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/u010169823/article/details/104800504

延伸 · 阅读

精彩推荐