记IDE下的springboot接口通信及参数传递简介

文章目录

  • 所用到的注解简介
  • Get方式请求
    • 单参数
    • 多个参数
  • Post方式请求
    • 数组形式传参
    • 实体类传参
    • JSON格式传参
      • 单实体
      • 多实体
      • 嵌套类型
  • 路径传参

所用到的注解简介

@ResponseBody:这个注解会将你的返回值自动转成JSON格式
@RequestBody:这个注解接收的是JSON格式的传参,如果传参是JSON格式就要打上这个
@GetMapping():这个代表Get方式的请求,如果参数名称、参数个数或请求方式不对应就会请求失败
@PostMapping():这个代表Post方式的请求
@RequestMapping():这个是Get和Post方式的结合,系统会自动匹配Get或Post方式

Get方式请求

搭好springboot环境,可以参照之前的环境搭建

单参数

@Controller//这个代表Controller层注解
public class DemoController
{
    @ResponseBody//返回值转成JSON格式
    @GetMapping(value = "/test")//Get请求  value值代表请求路径 例如这个的最后请求路径就是http://localhost:8080/test
    public String test( String value){//请求参数为value
        return value;//直接将参数返回
    }
}

传参及测试结果:
记IDE下的springboot接口通信及参数传递简介_第1张图片

多个参数

@Controller//这个代表Controller层注解
public class DemoController
{
    @ResponseBody//返回值转成JSON格式
    @GetMapping(value = "/test")//Get请求  value值代表请求路径 例如这个的最后请求路径就是http://localhost:8080/test
    public String test(String value, Integer id,String date){//请求参数为value
        System.out.println("value值---->"+value);
        System.out.println("id值---->"+String.valueOf(id));
        System.out.println("date值---->"+String.valueOf(date));
        return "请求成功";
    }
}

传参及测试结果:
记IDE下的springboot接口通信及参数传递简介_第2张图片

Post方式请求

1.环境依旧用相同的,提前建立好一个测试的实体类
User实体类:(这边是用lombot插件自动生成了set和get方法,没有的请手动添加set和get方法)
记IDE下的springboot接口通信及参数传递简介_第3张图片

数组形式传参

@Controller//这个代表Controller层注解
public class DemoController
{
    @ResponseBody//返回值转成JSON格式
    @PostMapping(value = "/test")//Post请求  value值代表请求路径 例如这个的最后请求路径就是http://localhost:8080/test
    public String test(Integer[] ids,String[] values){//请求参数
        System.out.println("Integer数组传参如下:");
        for (Integer id:ids){
            System.out.println("---->"+id);
        }
        System.out.println("String数组传参如下:");
        for (String value:values){
            System.out.println("---->"+value);
        }
        return "请求成功";
    }
}

传参及结果如下:
记IDE下的springboot接口通信及参数传递简介_第4张图片

实体类传参

@Controller//这个代表Controller层注解
public class DemoController
{
    @ResponseBody//返回值转成JSON格式
    @PostMapping(value = "/test")//Post请求  value值代表请求路径 例如这个的最后请求路径就是http://localhost:8080/test
    public User test(User user){//请求参数
        System.out.println(user.toString());
        return user;
    }
}

传参及测试结果:
记IDE下的springboot接口通信及参数传递简介_第5张图片
这里可以看出Post请求中参数是自动对应的,而且是可以不写的,不写自动为空,而Get则会直接请求失败

JSON格式传参

单实体

@Controller//这个代表Controller层注解
public class DemoController
{
    @ResponseBody//返回值转成JSON格式
    @PostMapping(value = "/test")//Post请求  value值代表请求路径 例如这个的最后请求路径就是http://localhost:8080/test
    public User test(@RequestBody User user){//请求参数  //json传参需要加@RequestBody
        System.out.println(user.toString());
        return user;
    }
}

传参及结果:
如果所传数据是json则请求头需要设置Content-Type:application/json,我用的测试工具是postman,所以这样设置:
记IDE下的springboot接口通信及参数传递简介_第6张图片
值则是以json格式写在body里面
记IDE下的springboot接口通信及参数传递简介_第7张图片

多实体

@Controller//这个代表Controller层注解
public class DemoController
{
    @ResponseBody//返回值转成JSON格式
    @PostMapping(value = "/test")//Post请求  value值代表请求路径 例如这个的最后请求路径就是http://localhost:8080/test
    public List<User> test(@RequestBody List<User> user){//请求参数  //json传参需要加@RequestBody
        for (User user1:user){
            System.out.println(user1.toString());
        }
        return user;
    }
}

传参及测试结果:
记IDE下的springboot接口通信及参数传递简介_第8张图片

嵌套类型

实际情况中可能会经常遇到一对多的嵌套关系,比如:一个班级有多个学生、一个订单号对应多个产品。。。。
首先我们新建一个实体类
ClassBean
记IDE下的springboot接口通信及参数传递简介_第9张图片
controller代码如下

@Controller//这个代表Controller层注解
public class DemoController
{
    @ResponseBody//返回值转成JSON格式
    @PostMapping(value = "/test")//Post请求  value值代表请求路径 例如这个的最后请求路径就是http://localhost:8080/test
    public ClassBean test(@RequestBody ClassBean classBean){//请求参数  //json传参需要加@RequestBody
        System.out.println("id:"+classBean.getId());
        System.out.println("teacherName"+classBean.getTeacherName());
        System.out.println("user如下:");
        for (User user:classBean.getUsers()){
            System.out.println(user);
        }
        return classBean;
    }
}

传参及测试结果:
记IDE下的springboot接口通信及参数传递简介_第10张图片

路径传参

@Controller//这个代表Controller层注解
public class DemoController
{
    @ResponseBody//返回值转成JSON格式
    @RequestMapping(value = "/test/{name}")//这个会自动对应请求类型  value值代表请求路径 例如这个的最后请求路径就是http://localhost:8080/test
    public String test(@PathVariable("name") String name){//请求参数 
        System.out.println(name);
        return name;
    }
}

传参及测试结果:
记IDE下的springboot接口通信及参数传递简介_第11张图片
本文主要记载Get和Post这两种常用通信方式,没有过多的言语介绍,如需了解透彻请自行查阅资料

你可能感兴趣的:(springboot,java,spring,spring,boot,后端,restful)