springboot controller接收参数

文章参考

  1. SpringBoot 获取前端页面参数的集中方式总结
  2. Spring MVC之@RequestParam @RequestBody @RequestHeader 等详解

案例说明

@RequestBody接受Map<String, String>

@PostMapping(path = "/demo1")
public void demo1(@RequestBody Map<String, String> person) {
    System.out.println(person.get("name"));
}

表单名与controller参数名一致

@RequestMapping("/test1")
@ResponseBody
public String test1( String name, String pwd )
{
    String s1 = name;
    String s2 = pwd;
    String s1 + s2; 
}

HttpServletRequest获取表单参数

@RequstMapping("/test2")
@ResponseBody
public String test2( HttpServletRequest request )
{
     String firstName = request.getParamenter("firstName");
     String lastName = request.getParameter("lastName");
     return firstName = lastName; 
}

参数使用javaBean对象来接收

@RequestMapping("/test3")
@ResponseBody
public String test3( Student student )
{
   String firstName = student.getFirstName();
   String lastName = student.getLastName();
    return firstName = lastName; 
}

RestFul方式@PathVariable获取参数

@RequestMapping( value = "/test4/{a}/{bbb}")
@ResponseBody
public String test4( @PathVariable("a") String aaa, @PathVariable String bbb )
{
    return aaa+bbb;
}

@RequestParam获取

@RequestMapping( value = "/test5")
@ResponseBody
public String test5( @RequestParam("aaa") String aac,@RequstParam("bbb") String bbb)
{
    return aac+bbb;
}

@RequestHeader获取header中的数据

@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);
}

注解解释

@ResponseBody呢?

  • @ResponseBody是作用在方法上的
  • @ResponseBody 表示该方法的返回结果直接写入 HTTP response body 中,一般在异步获取数据时使用【也就是AJAX】
  • 在使用 @RequestMapping后,返回值通常解析为跳转路径,但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,而是直接写入 HTTP response body 中
  • 异步获取 json 数据,加上 @ResponseBody 后,会直接返回 json 数据
  • @RequestBody 将 HTTP 请求正文插入方法中,使用适合的 HttpMessageConverter 将请求体写入某个对象。

@GetMapping

@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。

@PostMapping

@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。

@RequestHeader 注解

可以把Request请求header部分的值绑定到方法的参数上。

@CookieValue

可以把Request header中关于cookie的值绑定到方法的参数上。

@RequestMapping("/displayHeaderInfo.do")  
public void displayHeaderInfo(@CookieValue("JSESSIONID") String cookie)  {  
  //...  
}  

即把JSESSIONID的值绑定到参数cookie上。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值