@RequestBody@Requestparam@PathVariable

@RequestBody

        @RequestBody主要用来接收前端传递给后端json字符串中的数据的(请求体中的数据的);

        GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。

        使用@RequestBody的时候,接口大多是post请求方式。这时候处理的headers中content-type,不是默认的application/x-www-form-urlencoded请求方式,而是application/json或者是application/xml等请求方式。

当前端使用application/x-www-form-urlencoded时:后台会报如下错误:

Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported

@Requestparam

@RequestParam用来处理 Content-Type 为 application/x-www-form-urlencoded 编码的内容,Content-Type默认为该属性。

URL:拼写为  ?{}={}

@PathVariable

@PathVariable这个注解,该注解表示请求参数以占位符的形式拼接在路径后面,中间由/分割。

URL:拼写为  /{}/{}

@RequestBody、@PathVariable和@RequestParam是Spring MVC框架中常用的注解,用于处理请求参数的传递和接收。 - @RequestBody注解表示请求参数将被解析为请求体中的JSON数据,并绑定到方法参数上。通常在后期开发中,当发送的请求参数超过一个时,推荐使用@RequestBody注解处理。示例代码如下: ```java @PostMapping public R<String> save(@RequestBody DishDto dishDto) { dishService.saveWithFlavor(dishDto); return R.success("菜品添加成功"); } ``` - @PathVariable注解用于接收请求路径中的变量值。通常在使用RESTful风格进行开发时,当参数数量较少时,可以使用@PathVariable注解来传递id值。示例URL格式如下: ``` http://localhost:8080/dish/1552978624443916290/zhangsan ``` - @RequestParam注解用于接收请求参数。如果发送的是非JSON格式的数据,可以选用@RequestParam注解来接收请求参数。示例URL格式如下: ``` http://localhost:8080/dish?ids=1552978624443916290 ``` 需要注意的是,在GET请求中,可以使用@PathVariable和@RequestParam注解,但不可以使用@RequestBody注解,因为GET请求没有请求体。而在POST请求中,@RequestBody接收的是JSON数据,@RequestParam接收的是form表单提交的数据。 此外,需要明确的是,在一个方法中,@PathVariable和@RequestParam可以使用多次,但@RequestBody只能使用一次。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [@RequestBody、@PathVariable、@RequestParam三个注解用法与区别](https://blog.csdn.net/zqm1992409670/article/details/126136819)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值