springboot-参数接收注解

常见接收参数注解

@RequestParam
@RequestBody
无参数

@RequestParam

使用场景:用于get请求
PS:发送get请求,参数是跟着url后面;因为get请求是没有请求体的

@RequestBody

使用场景:主用于post请求;在表单post请求,普通的post请求中使用。

后端接收情况:

String接收

表单post请求或者普通post,content-type的值必须为:application/x-www-form-urlencoded

    @PostMapping(value = "/testDemo")
    @ResponseBody
    public String testDemo(@RequestBody  String content) throws Exception {
        return content;
    }

对象接收

如果是java的类进行接收,要求post请求体是json字符串,且content-type为:Content-Type = application/json

    @PostMapping(value = "/testDemo")
    @ResponseBody
    public SysUser testDemo(@RequestBody  SysUser user) throws Exception {
        return user;
    }

Map接收

要求post请求体是json字符串,且content-type为:Content-Type = application/json;最重要是Map的key和value都必须是String类型

    @PostMapping(value = "/testDemo")
    @ResponseBody
    public Map<String, String> testDemo(@RequestBody  Map<String, String> map) throws Exception {
        return map;
    }

无参数

使用场景:post请求,接收参数为对象类型。

    @PostMapping(value = "/testDemo")
    @ResponseBody
    public SysUser testDemo(SysUser map) throws Exception {
        return map;
    }

PS: post请求分为两种:Request Payload 和 Form Data。
Request Payload 大概格式如下,请求头部的 Content-Type: application/json,并且请求正文是一个 json 格式的字符串;后端需要用@RequestBody,且接收参数为对象类型或map
image

Form Data 大概格式如下,请求头部的 Content-Type: application/x-www-form-urlencoded;接收参数不需任何注解,只需要为对象类型即可
image

posted @   爱编程DE文兄  阅读(247)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2021-02-23 springcloud-Hystrix-服务熔断总结
2021-02-23 springcloud-Hystrix-服务熔断使用
2021-02-23 springcloud-Hystrix-服务熔断理论
2021-02-23 springcloud-Hystrix-降级fallback完善
2021-02-23 springcloud-Hystrix-降级fallback
2021-02-23 springcloud-Jmeter高并发后压测卡顿
点击右上角即可分享
微信分享提示