Spring RestController:拒绝具有未知字段的请求
Spring RestController : reject request with unknown fields
我有以下端点:
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
import static org.springframework.web.bind.annotation.RequestMethod.POST;
@RestController
public class TestController {
@RequestMapping(value = "/persons", method = POST, consumes = APPLICATION_JSON_VALUE, produces = APPLICATION_JSON_VALUE)
public ResponseEntity<Integer> create(@RequestBody Person person) {
// create person and return id
}
}
今天,如果我收到这样一个包含未知字段的请求:
{
"name" : "Pete",
"bijsdf" : 51
}
我创建人,忽略未知字段。
如何检查是否存在未知字段然后 return 错误请求?
Spring (4.1.2-RELEASE) 使用它的 Jackson2ObjectMapperBuilder 默认禁用 FAIL_ON_UNKNOWN_PROPERTIES 重载杰克逊默认行为。
请参阅此 link 以配置 spring。
谢谢大家的帮助
我有以下端点:
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
import static org.springframework.web.bind.annotation.RequestMethod.POST;
@RestController
public class TestController {
@RequestMapping(value = "/persons", method = POST, consumes = APPLICATION_JSON_VALUE, produces = APPLICATION_JSON_VALUE)
public ResponseEntity<Integer> create(@RequestBody Person person) {
// create person and return id
}
}
今天,如果我收到这样一个包含未知字段的请求:
{
"name" : "Pete",
"bijsdf" : 51
}
我创建人,忽略未知字段。
如何检查是否存在未知字段然后 return 错误请求?
Spring (4.1.2-RELEASE) 使用它的 Jackson2ObjectMapperBuilder 默认禁用 FAIL_ON_UNKNOWN_PROPERTIES 重载杰克逊默认行为。 请参阅此 link 以配置 spring。 谢谢大家的帮助