我有一个 Controller 如下:
@RequestMapping(path = "validate", method = POST, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = APPLICATION_JSON_UTF8_VALUE)
public ResponseEntity<Object> validate(@Valid @ModelAttribute ValidationRequest request) {
}
ValidationRequest
是一个包含几个字段的 POJO。
通过此设置,我希望此方法接受 仅通过请求正文 传递的 POST 参数。但是,如果我们发出像 http://localhost:8080/validate?param1=a¶m2=b
这样没有任何主体的 POST 请求,它仍然会接受它。我已将 ValidationRequest
中的所有字段标记为必填字段。
有什么建议吗?我在这里遗漏了什么吗?
最佳答案
也许尝试用@RequestBody 代替@ModelAttribute。
关于java - 禁止 Spring 接受 POST 参数作为查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35716406/