前后端数据接收联调
大约 2 分钟
前后端数据接收联调
SpringBoot接收数据
1、非json格式4种
①、通过控制层方法的参数名称和请求的参数名称一致来进行接收
@getMapping("/add")
public String add(String username,String password){
}
②、如果请求参数>=三个,可以实体类作为参数进行接收
前提:请求参数名称要和实体类属性名称保持一致
public Class User(){
Private String username;
Private String password;
}
@getMapping("/add")
public String add(User user){
}
③、使用RestFul风格提交、通过一个注解@PathVariable指定参数的映射规则
请求示例
localhost:8080/add/tom/123456
@getMapping("/add/{username}/{password}")
public String add(@PathVariable("username") String username,@PathVariable("password") String password){
}
④、使用HttpServeltRequest对象来接收数据(key = value的形式来传输的)
@getMapping("/add")
public String add(HttpServeltRequest request){
String username = request.getParameter("username");
String password = request.getParameter("password");
}
2、json格式4种
什么是json格式的数据?
{
"username" : "tom",
"password" : "123456"
}
①、简单数据类型,必须使用一个注解@RequestBody才能接收到
@getMapping("/add")
public String add(@RequestBody User user){
}
前端请求格式
{
"username" : "tom",
"password" : "123456"
}
②、如果一个实体类中定义了引用数据类型
public Class Cat(){
Private String catname;
Private String catsex;
}
public Class User(){
Private String username;
Private String password;
Private Cat cat;
}
@getMapping("/add")
public String add(@RequestBody User user){
}
前端请求格式
{
"username" : "tom",
"password" : "123456",
"Cat" : {
"catname" : "cat",
"catsex" : "男"
}
}
③、如果一个实体类中定义有List集合类型的数据
public Class Course(){
Private String cname;
Private String teacher;
}
public Class User(){
Private String username;
Private String password;
Private Cat cat;
Private List<Course> courseList;
}
@getMapping("/add")
public String add(@RequestBody User user){
}
前端请求格式
{
"username" : "tom",
"password" : "123456",
"Cat" : {
"catname" : "cat",
"catsex" : "男"
},
"Course" : [
{
"cname" : "java",
"teacher" : "石老师"
},
{
"cname" : "python",
"teacher" : "李老师"
}
]
}
④、使用Map集合接收前端的数据
public Class User(){
Private String username;
Private String password;
}
@getMapping("/add")
public String add(@RequestBody Map<String,String> map){
String username = map.get("username");
String password = map.get("password");
}
{
"username" : "tom",
"password" : "123456"
}