Spring RestController:拒绝未知字段的请求

时间:2015-04-08 16:58:18

标签: java validation rest spring-mvc jackson

我有以下端点:

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
}

我创造了这个人并忽略了未知领域。

如何检查是否存在未知字段,然后返回错误请求?

1 个答案:

答案 0 :(得分:3)

Spring(4.1.2-RELEASE)使用它的Jackson2ObjectMapperBuilder默认情况下在过载jackson默认行为上禁用FAIL_ON_UNKNOWN_PROPERTIES。 请参阅此link以配置弹簧。 谢谢你的帮助