java - Spring RestController : reject request with unknown fields

标签 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
}

我创建了人并忽略了未知领域。

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

最佳答案

Spring (4.1.2-RELEASE) 使用它的 Jackson2ObjectMapperBuilder默认情况下禁用 FAIL_ON_UNKNOWN_PROPERTIES 重载 jackson 默认行为。 看这个link配置 Spring 。 谢谢大家的帮助

关于java - Spring RestController : reject request with unknown fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29520853/

相关文章:

java - 如何在spring mvc Controller 中获取getServletContext()

python - 如何为 REST Api 功能设置 Python

java - 如何将 REST 参数映射到复杂对象?

ios - 来自 iOS 的 Restful post API

java - 我将如何在我的代码中使用抽象类或接口(interface)来最小化重复?

java - 在java中移动文件?

validation - 可以对文件进行 "dry run"验证吗?

javascript - 简单的 Javascript OnClick 功能不起作用

java - 为什么从 ApplicationContext 检索到的 bean 中的 @Autowire 为 null?

css - 带有忽略 (X)HTML/CSS/javascript 标签的拼写检查器的文本编辑器?