Springboot GET和POST请求的常用参数获取方式

小咪咪 2024-03-26 22:53 160阅读 0赞

GET

使用@RequestParam注解

可以在控制器方法的参数上使用@RequestParam注解来获取请求中的参数值。例如:

  1. @GetMapping("/example")
  2. public String example(@RequestParam String param) {
  3. // 使用param参数的值
  4. return "Value of param: " + param;
  5. }

可以为@RequestParam注解的参数提供默认值,以处理参数缺失的情况。例如:

  1. @GetMapping("/example")
  2. public String example(@RequestParam(defaultValue = "default") String param) {
  3. // 使用param参数的值,如果参数未提供,则使用默认值"default"
  4. return "Value of param: " + param;
  5. }

可以使用@RequestParam Map来获取所有的请求参数键值对。例如:

  1. @GetMapping("/example")
  2. public String example(@RequestParam Map<String, String> params) {
  3. String param = params.get("param");
  4. // 使用param参数的值
  5. return "Value of param: " + param;
  6. }

使用@PathVariable注解

如果参数是作为路径的一部分传递的,可以使用@PathVariable注解来获取参数值。例如:

  1. @GetMapping("/example/{param}")
  2. public String example(@PathVariable String param) {
  3. // 使用param参数的值
  4. return "Value of param: " + param;
  5. }

使用HttpServletRequest对象

可以在控制器方法的参数列表中添加HttpServletRequest对象,然后从中获取请求参数。例如:

  1. @GetMapping("/example")
  2. public String example(HttpServletRequest request) {
  3. String param = request.getParameter("param");
  4. // 使用param参数的值
  5. return "Value of param: " + param;
  6. }

使用@ModelAttribute注解

可以使用@ModelAttribute注解来将请求参数绑定到一个自定义对象中。例如:

  1. @GetMapping("/example")
  2. public String example(@ModelAttribute MyObject myObject) {
  3. String param = myObject.getParam();
  4. // 使用param参数的值
  5. return "Value of param: " + param;
  6. }

POST

使用@RequestParam注解

可以在控制器方法的参数上使用@RequestParam注解来获取请求体中的参数值。默认情况下,@RequestParam用于获取表单数据。例如:

  1. @PostMapping("/example")
  2. public String example(@RequestParam String param) {
  3. // 使用param参数的值
  4. return "Value of param: " + param;
  5. }

可以使用@RequestParam Map来获取所有的请求参数键值对。这对于处理不固定参数的情况很有用。例如:

  1. @PostMapping("/example")
  2. public String example(@RequestParam Map<String, String> params) {
  3. String param = params.get("param");
  4. // 使用param参数的值
  5. return "Value of param: " + param;
  6. }

使用@RequestBody注解

如果请求体是JSON或其他格式的数据,可以使用@RequestBody注解将请求体映射到一个自定义对象中。例如:

  1. @PostMapping("/example")
  2. public String example(@RequestBody MyObject myObject) {
  3. String param = myObject.getParam();
  4. // 使用param参数的值
  5. return "Value of param: " + param;
  6. }

使用HttpServletRequest对象

可以在控制器方法的参数列表中添加HttpServletRequest对象,然后从中获取请求参数。这对于处理复杂的请求体非常有用。例如:

  1. @PostMapping("/example")
  2. public String example(HttpServletRequest request) {
  3. String param = request.getParameter("param");
  4. // 使用param参数的值
  5. return "Value of param: " + param;
  6. }

使用@ModelAttribute注解

与POST请求中的表单数据一起使用@ModelAttribute注解,将请求参数绑定到一个自定义对象中。例如:

  1. @PostMapping("/example")
  2. public String example(@ModelAttribute MyObject myObject) {
  3. String param = myObject.getParam();
  4. // 使用param参数的值
  5. return "Value of param: " + param;
  6. }

类似于@RequestParam Map,也可以使用@ModelAttribute注解的Map参数来获取请求参数键值对。例如:

  1. @PostMapping("/example")
  2. public String example(@ModelAttribute("myObject") Map<String, String> params) {
  3. String param = params.get("param");
  4. // 使用param参数的值
  5. return "Value of param: " + param;
  6. }

发表评论

表情:
评论列表 (有 0 条评论,160人围观)

还没有评论,来说两句吧...

相关阅读