有没有一种方法可以根据 java 中的预定义值来验证 json 属性?
Is there a way to validate json attributes based on predefined values in java?
有没有一种方法可以根据 java 中的预定义值验证 json 属性?
例如:
{
"operation": "ONE"
}
操作的唯一允许值是一、二、三。
所以在 JSON 层,我们要验证这个操作属性,如果请求的值不是上述任何一个,我们要拒绝它。
是否有任何 JSON 注释可以实现此目的?
使用的库:Fasterxml Jackson
提前致谢。
嗯,可能有两种可能的方法:首先,您可以使用@JsonProperty,但为此您需要添加@JsonCreator 或自定义构造函数。
否则您可以简单地使用 Jackson 模式验证。创建一个 schema.json 并根据模式验证每个传入输入,例如:
{
"operation": {
"type":"string",
"required":true,
"enum":["ONE","TWO","THREE"]
}
}
它比处理 Jackson 引发的异常,即 JsonMappingException 和 UnrecognizedPropertyException 更好。
您可以在以下位置查找有关模式验证的更多信息:http://wilddiary.com/validate-json-against-schema-in-java/
有没有一种方法可以根据 java 中的预定义值验证 json 属性?
例如:
{
"operation": "ONE"
}
操作的唯一允许值是一、二、三。 所以在 JSON 层,我们要验证这个操作属性,如果请求的值不是上述任何一个,我们要拒绝它。 是否有任何 JSON 注释可以实现此目的?
使用的库:Fasterxml Jackson
提前致谢。
嗯,可能有两种可能的方法:首先,您可以使用@JsonProperty,但为此您需要添加@JsonCreator 或自定义构造函数。
否则您可以简单地使用 Jackson 模式验证。创建一个 schema.json 并根据模式验证每个传入输入,例如:
{
"operation": {
"type":"string",
"required":true,
"enum":["ONE","TWO","THREE"]
}
}
它比处理 Jackson 引发的异常,即 JsonMappingException 和 UnrecognizedPropertyException 更好。
您可以在以下位置查找有关模式验证的更多信息:http://wilddiary.com/validate-json-against-schema-in-java/