自存 关于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格式解析,所有多出一个=

相关推荐
lee_curry41 分钟前
第四章 jvm中的垃圾回收器
java·jvm·垃圾收集器
QQ1__8115175151 小时前
Spring boot名城小区物业管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·vue.js·spring boot
钛态1 小时前
前端微前端架构:大项目的救命稻草还是自找麻烦?
前端·vue·react·web
一粒黑子1 小时前
【实战解析】阿里开源 PageAgent:纯前端 GUI Agent,一行JS让网页支持自然语言操控
前端·javascript·开源
独角鲸网络安全实验室1 小时前
2026微信小程序抓包全解析:从实操落地到合规风控,解锁前端调试新范式
前端·微信小程序·小程序·抓包·系统代理绕过·https证书严格校验·进程隔离
紫微AI1 小时前
前端文本测量成了卡死一切创新的最后瓶颈,pretext实现突破了
前端·人工智能·typescript
GISer_Jing1 小时前
AI前端(From豆包)
前端·aigc·ai编程
IT枫斗者1 小时前
前端部署后如何判断“页面是不是最新”?一套可落地的版本检测方案(适配 Vite/Vue/React/任意 SPA)
前端·javascript·vue.js·react.js·架构·bug
测试修炼手册1 小时前
[测试技术] 深入理解 JSON Web Token (JWT)
前端·json
AI老李1 小时前
2026 年 Web 前端开发的 8 个趋势!
前端