小编Ben*_*yan的帖子

杰克逊:我如何生成拒绝所有其他内容的json架构

我想生成JSON模式,其中"additionalProperties" : false将应用于我拥有的所有类.

假设我有以下课程:

class A{
    private String s;
    private B b;

    public String getS() {
        return s;
    }

    public B getB() {
        return b;
    }
}

class B{
    private BigDecimal bd;

    public BigDecimal getBd() {
        return bd;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我按照下面的代码生成模式时,schema属性"additionalProperties" : false仅适用于该类A.

ObjectMapper mapper = new ObjectMapper();
JsonSchemaGenerator schemaGen = new JsonSchemaGenerator(mapper);
ObjectSchema schema = schemaGen.generateSchema(A.class).asObjectSchema();
schema.rejectAdditionalProperties();
mapper.writerWithDefaultPrettyPrinter().writeValueAsString(schema);
Run Code Online (Sandbox Code Playgroud)

如何生成"additionalProperties" : false将应用于所有类的架构?

例子 schema

{ "type" : "object", "id" : "urn:jsonschema:com.xxx.xxx:A", "additionalProperties" …

java json jsonschema jackson json-schema-validator

12
推荐指数
1
解决办法
2510
查看次数

标签 统计

jackson ×1

java ×1

json ×1

json-schema-validator ×1

jsonschema ×1