SpringBoot Controller接收参数常用方式

接受Map<String, String>

@RequestBody
@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 表示该方法的返回结果直接写入 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上。

原文:https://blog.csdn.net/hbiao68/article/details/87364112

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值