[英]Should @RequestParam or @RequestBody be used for POST requests in Spring Boot?
@RequestBody
要求为 JSON 主体创建一个 class 以反序列化,而@RequestParams
不需要。
假设不需要对参数进行混淆,那么应该将哪一个用于 POST 请求? 有关系吗? 是否推荐其中之一?
@RequestBody
要求为 json 主体创建一个 class 以反序列化为
不,它没有。 例如,您可以反序列化为Map
或List
,具体取决于 JSON。
哪个应该用于 POST 请求?
这取决于请求的Content-Type
(mime 类型)。
有关系吗?
是的。
是否推荐其中之一?
对于 mime 类型application/x-www-form-urlencoded
和multipart/form-data
您应该使用@RequestParam
。
对于其他任何事情,您都需要使用@RequestBody
。
@RequestParam,当你想从 GET/POST 请求到你的方法参数的 map 时,你可以使用它,你可以为它设置一些默认值,以防你没有传递任何参数。 @RequestBody,您可以在期望 object 时使用,因为它会自动将 json 反序列化为 java 类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.