POST/GET请求中RequestBody和RequestParam的应用场景

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POST/GET请求中RequestBody和RequestParam的应用场景相关的知识,希望对你有一定的参考价值。

参考技术A

POST请求时
@RequestBody --> JSON字符串部分
@RequestParam --> 请求参数部分
application/json格局图

1、从content-type方面总结:
① form-data、x-www-form-urlencoded:不可以用@RequestBody;可以用@RequestParam。见postman的格局,这两种方式的时候没有json字符串部分。
② application/json:json字符串部分可以用@RequestBody;url中的?后面参数可以用@RequestParam。见postman的格局

2、从两种注解方式总结:
@RequestBody

@RequestParam

既不是@RequestBody也不是@RequestParam,没有指定参数哪种接收方式

GET请求
@RequestBody

@RequestParam

当使用GET请求时,通过postman添加?后面的参数,不用在url中自己一个一个拼,点击Params,在下面key-value中输入就自动拼接到url中

举栗子
上传文件,包含了图中圈出来的两部分

如果control中这样接收,本来想formData只接收url?后的参数,结果将 "retCode": null, "data": true 这部分内容也拿到了,真实意外之喜。字符串这部分内容还可以从request中取到,见下面完整方法。

完整方法

以上是关于POST/GET请求中RequestBody和RequestParam的应用场景的主要内容,如果未能解决你的问题,请参考以下文章

curl命令行 get/post请求

vue 利用get/post请求实现下载功能

GET/POST 请求参数长度的最大值

POST/GET请求中RequestBody和RequestParam的应用场景

Request/Response;post/get

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