springboot 接收html参数,SpringBoot Controller接收参数的几种方式盘点

SpringBoot Controller接收参数的几种常用方式盘点如下:

一、请求路径参数

1.@PathVariable

适用于url包含请求参数的情况,例如:/common-bsp/bsp/organ/{struIds},后台接收示例:

@DeleteMapping("/{struIds}")

public ResponseResult deleteOrgan(@PathVariable String struIds) {

return service.deleteOrgan(struIds);

}

2.@RequestParam

适用于Get请求,将参数放置于请求地址后面的情况,例如:userEdit.html?operaType=add,后台接收:

@GetMapping(value = "/struExtAndOrgan")

public ResponseResult getStruExtAndOrgan(@RequestParam HashMap parameters) {

return pubStruExtService.getStruExtAndOrgan(parameters);

}

3.@ModelAttribute

适用于从Form表单或URL参数中获取(实际上,不用此注解也能拿到pubOrgan对象)。

@GetMapping("/organs")

public ResponseResult queryOrgans(@ModelAttribute PubOrgan pubOrgan) {

ResponseResult responseResult = new ResponseResult(service.select(pubOrgan));

return responseResult;

}

二、Body参数

1.@RequestBody

@PostMapping

public ResponseResult addNextLevel(@RequestBody PubOrgan pubOrgan) {

return service.addNextLevel(pubOrgan);

}

springboot 接收html参数,SpringBoot Controller接收参数的几种方式盘点_第1张图片

类似的也可以像下面这样:

@PostMapping

public ResponseResult addNextLevel(@RequestBody HashMap parameters) {

return service.addNextLevel(parameters);

}

2.无注解

@PostMapping

public ResponseResult addNextLevel(PubOrgan pubOrgan) {

return service.addNextLevel(pubOrgan);

}

springboot 接收html参数,SpringBoot Controller接收参数的几种方式盘点_第2张图片

三、请求头参数以及Cookie的获取

需要借助@RequestHeader和@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()) {

if ("myCookie".equals(cookie.getName())) {

System.out.println(cookie.getValue());

}

}

}

References

你可能感兴趣的:(springboot,接收html参数)