跳至主要內容

前后端数据接收联调

sixkey大约 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"
}