Я хочу создать схему 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;
}
}
Когда я генерирую схему, как показано ниже, свойство схемы "additionalProperties": false
свойства "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);
Как я могу сгенерировать схему, где "additionalProperties": false
будет применяться ко всем классам?
Пример schema
{ "type": "object", "id": "urn:jsonschema:com.xxx.xxx:A", "additionalProperties": false, "properties": { "s": { "type": "string" }, "b": { "type": "object", "id": "urn:jsonschema:com.xxx.xxx:B", "properties": { "bd": { "type": "number" } } } } }
Примечание. Я не хочу генерировать схемы по частям.