SpringBoot请求响应方式示例详解
作者:九千七
一、简单参数
原始方式(过于繁琐了解即可)
在原始的web程序中,获取请求参数,需要通过HttpServletRequest对象手动获取。
@RequestMapping("/simpleParam") public String simpleParam(HttpServletRequest request){ String name=request.getParameter("name"); String ageStr=request.getParameter("age"); int age=Integer.parseInt(ageStr); System.out.println(name+","+age); return "ok"; }
public String simpleParam(HttpServletRequest request)
:这是一个公共方法,返回类型为String。它接收一个HttpServletRequest
类型的参数,用于获取HTTP请求的信息。
String name=request.getParameter("name");
:从HTTP请求中获取名为"name"的参数值,并将其赋值给变量name
。
int age=Integer.parseInt(ageStr);
:将字符串类型的ageStr
转换为整数类型,并赋值给变量age
。
SpringBoot方式
简单参数:参数名与形参变量名相同,定义形参即可接收参数。
@RequestMapping("/simpleParam") public String simpleParam(String name,Integer age){ System.out.println(name+","+age); return "ok"; }
如果请求参数名 不一致,会导致接收失败,但是不会报错。 可以使用@RequestParam来完成映射。
@RequestMapping("/simpleParam") public String simpleParam(@RequestParam(name="name") String username, Integer age){ System.out.println(username+","+age); return "ok"; }
@RequestParam中的required属性默认为true,代表该请求参数必须传递,如果不传递将报错。如果该参数是可选的必须将required属性设置为false。
二、实体参数
User实体类代码如下:
package com.example.demo.pojo; public class User { private String name; private Integer age; public User(String name, Integer age) { this.name = name; this.age = age; } public User() { } @Override public String toString() { return "User{" + "name='" + name + '\'' + ", age=" + age + '}'; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
简单实体对象:请求参数与形参对象属性名相同,定义POJO接收即可。
@RequestMapping("/simplePojo") public String simplePojo(User user){ System.out.println(user); return "ok"; }
复杂实体对象:请求参数名与形参对象属性名相同,按照对象层次结构关系即可接收嵌套POJO属性参数。
三、数组集合参数
数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即可接收参数。
@RequestMapping("/arrayParam") public String arrayParam(String [] hobby){ System.out.println(Arrays.toString(hobby)); return "ok"; }
集合参数:请求参数名与形参集合名称相同且请求参数为多个,@RequestParam绑定参数关系,默认情况下多个值封装在数组中。
@RequestMapping("/listParam") public String listParam(@RequestParam List<String> hobby){ System.out.println(hobby); return "ok"; }
四、日期参数
日期参数:使用@DateTimeFormat注解完成日期参数格式转换,指定前端传递日期的格式。
@RequestMapping("/dateParam") public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){ System.out.println(updateTime); return "ok"; }
五、JSON参数
JSON参数:JSON数据键名与形参对象属性名形同,定义POJO类型形参即可接收参数,需要使用@RequestBody标识。
@RequestMapping("/jsonParam") public String jsonParam(@RequestBody User user){ System.out.println(user); return "ok"; }
六、路径参数
路径参数:通过请求URL直接传递参数,使用{...}来表示该路径参数,需要使用@PathVariable获取路径参数。(可获取多个参数,直接在后面添加/{...}/{...})
@RequestMapping("/path/{id}") public String pathParam(@PathVariable Integer id){ System.out.println(id); return "ok"; }
到此这篇关于SpringBoot请求响应的文章就介绍到这了,更多相关SpringBoot请求响应内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!