Spring MVC / Jackson:如何让Spring在请求体中验证JSON对象?

时间:2013-05-31 13:44:31

标签: json validation spring-mvc jackson

我正在使用Spring MVC 3.2.3 + Jackson 2.1.4进行JSON序列化。

我想知道是否可以要求Spring验证请求体*中的JSON对象,特别是如果缺少必填字段

我尝试在Java bean的一个属性上设置 @JsonProperty(require = true),但在请求的JSON对象中缺少该字段时似乎没有异常。

请求正文中的JSON(缺少“field1”)

{
    "field2": "value2",
    "field3": "value3"
}

控制器代码:

@Controller
@RequestMapping("/myBaseUrl")
public class MyController{

    //...

    @RequestMapping(method = RequestMethod.POST, value = "/myUrl", consumes = MediaType.APPLICATION_JSON_VALUE)
    public void handle(@RequestBody MyRequestBean requestBean) throws IOException {

        // code reach at execution whereas I expected the throw of an exception because "field1" is missing in JSON.
    }
}

请求的Bean:

public class MyRequestBean {
    //...

    @JsonProperty(required = true)
    private String field1

    //...

    public String getField1(){ return field1; }
    public void setField1(String field1){ this.field1 = field1; }
}

0 个答案:

没有答案