自存 关于RestController请求传参数 前端和后端相关

1.Get请求

Get请求传递参数一般是

1.通过@PathVariable来映射 URL 绑定的占位符

后端

复制代码
    @GetMapping("test/{id}")
    public R test(@PathVariable Integer id){
        System.out.println(id);
        return R.success(id);
    }

前端

复制代码
export function test(id:any){
    return request({
        url:"/test/"+id,
        method:"get",

    })

}

请求格式

2 通过params传递参数

关于data 和params两种传递参数的方法 data传递的是再请求体里面传递参数,而params是在请求头传递参数 post 就既可以用请求头也可以用请求体

前端

复制代码
export function test(id:any){
    return request({
        url:"/test",
        method:"get",
        params:{
            id:id
        }
    })

后端

复制代码
    @GetMapping("test")
    public R test(String id){
        System.out.println(id);
        return R.success(id);
    }

请求格式

@Requestparam注解是代表这个参数必须要传

也可以定义一个实体类来接收

复制代码
@Data
public class Test {
    private String name;
    private String age;
    private String sex;
}

后端

复制代码
    @GetMapping("test")
    public R test( Test test1){
//        System.out.println(test);
        System.out.println(test1);
        return R.success(test1);
    }

前端

复制代码
export function test(id:any){
    return request({
        url:"/test",
        method:"get",
        params:{
           name:"张三",
           age:"18",
           sex:"男",
           test:"test"
        }
    })

可以校验实体类

复制代码
@Data
public class Test {
    @NotBlank(message = "用户名不能为空")
    private String name;
    @NotBlank(message = "年龄不能为空")
    private String age;
    @NotBlank(message = "性别不能为空")
    private String sex;
}

    @GetMapping("test")
    public R test(@Validated Test test1){
//        System.out.println(test);
        System.out.println(test1);
        return R.success(test1);
    }

Get请求是通过Url方式传递的 ,所以Get请求不能用@RequestBody来传递参数

2.post请求

@RequestBody是找寻请求体里的数据的,我测试下来 @RequestBody可以接受实体类,可以接收list集合 但接收字符串有一点点问题

2.1接收实体类

前端


复制代码
export function test(id:any){
    return request({
        url:"/test",
        method:"post",
        data:{
            name:'张三',
            age:'18',
            sex:'男'
        }
    })

后端

复制代码
    @PostMapping("test")
    public R test(@RequestBody Test test){
        System.out.println(test);
        return R.success(test);
    }

接收list集合

前端

复制代码
export function test(id:any){
    return request({
        url:"/test",
        method:"post",
        data:[1,2,2,2,,32,13,123]
    })

后端

复制代码
    @PostMapping("test")
    public R test(@RequestBody List<Integer> ids){
        System.out.println(ids);
        return R.success(ids);
    }

接收字符串有一点问题好像。。。不知道是不是我格式有问题

前端

复制代码
export function test(id:any){
    return request({
        url:"/test",
        method:"post",
        data:'test'
    })

后端

复制代码
    @PostMapping("test")
    public R test(@RequestBody String test){
        System.out.println(test);
        return R.success(test);
    }

打印结果

多出一个等于号 ,我个人推测把字符串传递给表单的时候就是以json的格式传输的,requestBody接收自然以json格式解析,所有多出一个=

相关推荐
xcl09257 小时前
北京24小时自助健身房系统软件开发实战:从架构到部署全流程指南
java·spring boot·架构
一 乐9 小时前
动漫书销售商城|基于springboot + vue动漫书销售商城(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕业设计
卓怡学长9 小时前
w214基于jsp知道特产网
java·intellij-idea
步行cgn9 小时前
Spring 注解使用详解
java·spring
一条小小yu9 小时前
Spring IoC的理解
java·后端·spring
落魄实习生10 小时前
Agent Scope Java 2.x 系列【7】工具使用
java·开发语言·ai
前端snow10 小时前
ai agent --- postgreSQL 关系型数据库
前端
旺仔学长 哈哈10 小时前
springboot钓鱼爱好者交流平台APP设计与实现
java·spring boot·mysql·充电桩管理系统
Wx-bishekaifayuan10 小时前
django个性化旅游路线推荐平台49005-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
卷无止境11 小时前
ECharts:把数据变成故事的可视化利器
前端