获取Request参数
public class StuController { @GetMapping("{stuId}/get") public String getStu(@PathVariable("stuId") String stuId, @RequestParam("name") String name, @RequestParam Integer id){ /* * @RequestParam: 用于获得url中的参数,如果参数变量名保持一致,该注解可以省略 * */ log.info("stuId="+stuId); log.info("name="+name); log.info("id="+id); return "查询Stu"; } /* * @RequestBody 可以是一个对象也可以是一个Map * @RequestHeader 获取请求头信息 * */ @PostMapping("create") public String createStu(@RequestBody Map<String,Object> map, @RequestHeader("token") String token, @CookieValue("clientId") String clientId, HttpServletRequest request){ log.info("map="+map.toString()); log.info("token="+token); log.info("clientId="+clientId); String headerToken = request.getHeader("token"); log.info("headerToken="+headerToken); return "新增Stu"; }
在Spring框架中,处理HTTP请求时,常用的注解用于接收不同类型的参数。以下是这些注解的详细说明:
@RequestParam
用途: 用于接收URL中的查询参数(Query Parameters)。
示例:
@GetMapping("/example") public String exampleMethod(@RequestParam String name) { return "Hello, " + name;}
当访问 /example?name=John 时,name 参数的值为 "John"。
@PathVariable
用途: 用于接收URL路径中的变量(Path Variables)。
示例:
@GetMapping("/example/{id}") public String exampleMethod(@PathVariable Long id) { return "ID: " + id;}
当访问 /example/123 时,id 参数的值为 123。
@RequestBody
用途: 用于接收HTTP请求体(Request Body)中的数据,通常用于POST、PUT等请求。
示例:
@PostMapping("/example") public String exampleMethod(@RequestBody User user) { return "Received user: " + user.getName();}
请求体中的JSON数据会被自动转换为 User 对象。
@RequestHeader
用途: 用于接收HTTP请求头(Request Headers)中的信息。
示例:
@GetMapping("/example") public String exampleMethod(@RequestHeader("Authorization") String authToken) { return "Authorization token: " + authToken; }
获取请求头中的 Authorization 字段值。
@CookieValue
用途: 用于接收HTTP请求中的Cookie值。
示例:
@GetMapping("/example") public String exampleMethod(@CookieValue("sessionId") String sessionId) { return "Session ID: " + sessionId; }
获取名为 sessionId 的Cookie值。
总结
@RequestParam: 用于接收URL查询参数。
@PathVariable: 用于接收URL路径变量。
@RequestBody: 用于接收请求体中的数据。
@RequestHeader: 用于接收请求头中的信息。
@CookieValue: 用于接收请求中的Cookie值。
这些注解在Spring MVC中非常常用,能够帮助开发者方便地处理不同类型的请求参数。
很清楚了
用于接受参数的注解
@RequestParam:et 用一获得url中的参数
@PathVariable
get请求
@CookieValue,@Header需要使用一下
@RequestBody