如何在春季 MVC 中将 JSON 有效负载发布到@RequestParam
2022-09-01 18:56:30
我正在使用Spring Boot(最新版本,1.3.6),我想创建一个接受一堆参数和JSON对象的REST端点。像这样:
curl -X POST http://localhost:8080/endpoint \
-d arg1=hello \
-d arg2=world \
-d json='{"name":"john", "lastNane":"doe"}'
在Spring控制器中,我目前正在做:
public SomeResponseObject endpoint(
@RequestParam(value="arg1", required=true) String arg1,
@RequestParam(value="arg2", required=true) String arg2,
@RequestParam(value="json", required=true) Person person) {
...
}
该参数不会序列化为 Person 对象。我得到一个json
400 error: the parameter json is not present.
显然,我可以将参数作为 String,并在控制器方法中解析有效负载,但这违背了使用 Spring MVC 的意义。json
如果我使用 ,它都可以工作,但是这样我就失去了在JSON正文之外发布单独参数的可能性。@RequestBody
在Spring MVC中,有没有办法“混合”正常的POST参数和JSON对象?