Springboot中Controller层接收参数几种方式
程序员文章站
2022-03-01 20:52:09
...
处理request uri部分 @PathVariable
处理request header部分的注解 @RequestHeader @CookieValue
处理request body部分的注解 @RequestParam @RequestBody
处理 attribute 类型是注解 @SessionAttributes @ModelAttribute
第一类:请求路径参数
1、 @PathVariable
获取路径参数。 url/{id}这种形式
2、@RequestParam
获取查询参数。即为url?name=lofge
例子:
@GetMapping("/demo/{id}")
@ResponseBody//返回基本数据类型
public String demo(@PathVariable(name = "id") String id,
@RequestParam(name = "name1") String name2){
System.out.println("id:"+id);
System.out.println("name:"+name2);
return "123";
}
第二类:Body参数
@RequestBody注解通常是来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,
比如application/json或者application、xml等,一般用来处理application/json类型
通过@requestBody可以将请求体中JSON字符串绑定到相应的bean上,当然也可以绑定到对应的字符串上
//前端请求:
$.ajax({
url:'/login',
typr:"POST",
data:{"userName":"admin","pwd":"admin"}
content-type:"application/json charset=utf-8",
success:function(data){
alert("request Success!");
}
})
//后端接收:
@PostMapping("/login")
public void login(@RequestBody String userName,@RequestBody String pwd){
system.out.println(userName+""+pwd);
//如果有一个Person类,它有String userName,String pwd 则可以写成Person person
}
@requestBody可以用来处理content-type类型为application、x-www-form-urlcoded的内容,只不过不是很常用
@RequestBody MultiValueMap<String,String>map
2.无注解
@PostMapping(path=“demo2”)
public void demo2(Person person){
System.out.println(person.toString())
}
第三类
1、@RequestHeader
2、@CookieValue
例如:
@GetMapping("/demo3")
public void demo3(@RequestHeader(name = "myHeader") String myHeader,
@CookieValue(name = "myCookie") String myCookie){
System.out.println("myHeader="+myHeader);
System.out.println("myCookie:"+myCookie);
}
也可以这样
@GetMapping("/demo3")
public void demo3(HttpServletRequest request){
System.out.println(request.getHeader("myHeader"));
for (Cookie cookie:request.getCookies()){
System.out.println(cookie.getValue());
}
转载自:https://blog.csdn.net/suki_rong/article/details/80445880
推荐阅读
-
springmvc中接收页面参数传递的几种方式
-
SpringBoot中Controller接收参数的几种方式
-
java技术--Controller接收参数的几种常用方式
-
SpringBoot后台接收参数的几种方式
-
SpringBoot 框架 Controller接收参数的几种常用方式-笔记
-
SpringBoot Controller接收参数的几种常用方式
-
SpringBoot Controller接收参数的几种常用方式
-
SpringBoot实现前后端数据交互、json数据交互、Controller接收参数的几种常用方式...
-
SpringBoot Controller接收参数的几种常用方式
-
SpringBoot Controller接收参数的几种常用方式