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。 谢谢大家的帮助