结论
RequestBody
RequestBody接收来自POST请求并且类型为x-www-form-urlencoded类型或者raw(JSON格式)的数据,使用GET请求或者POST请求的其他类型的数据(特指form-data) 会直接返回400(Bad Request) (你的控制器controller里的方法并不会收到请求)
RequestParam
RequestParam接收GET和POST请求的所有类型的参数,包括GET请求的URL参数,POST请求的form-data, x-www-form-urlencoded 和raw(只是这里的raw不能填json格式的数据,它会找不到数据,需要填写k1=v2&k2=v2这种格式的数据);
验证过程:
RequestBody
编写控制器

GET请求返回400错误

POST(form-data) 400错误

当返回400错误时,控制台只会提示一个警告并不会输出收到请求的内容

POST(x-www-form-urlencoded) 成功

POST(raw) 成功

RequestParam
修改RequestBody为RequestParam并重新启动项目

GET url传递参数 成功

POST(form-data) 成功

POST(x-www-form-urlencoded) 成功

POST(raw_json) 失败

POST(raw_k_v) 成功

如有纰漏,请斧正。
本文探讨了RequestBody和RequestParam在API中的不同行为,包括数据类型限制、验证结果和适用场景。RequestBody主要处理x-www-form-urlencoded和raw数据,而RequestParam则适用于所有请求类型,包括URL参数和各种格式的POST数据。
1693

被折叠的 条评论
为什么被折叠?



