Добрый вечер. Я пытаюсь вставить пользовательский фрагмент строки в схему JSON во время создания схемы. Вопрос в том, как я могу это сделать?
public class App {
public static class House {
@JsonProperty(value = "room")
private Room room;
}
public static class Room {
@JsonProperty(value = "length")
private Attribute length;
}
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public static class Attribute {
}
public static void main(String[] args) throws Exception {
MappingJsonFactory factory = new MappingJsonFactory();
ObjectMapper mapper = factory.getCodec();
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
JsonSchemaGenerator schemaGen = new JsonSchemaGenerator(mapper);
JsonSchema schema = schemaGen.generateSchema(House.class);
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(schema));
}
}
Это сгенерирует схему JSON, например:
{
"type" : "object",
"id" : "urn:jsonschema:jsonModel:App:House",
"properties" : {
"room" : {
"type" : "object",
"id" : "urn:jsonschema:jsonModel:App:Room",
"properties" : {
"length" : {
"type" : "object",
"id" : "urn:jsonschema:jsonModel:App:Attribute"
}
}
}
}
}
Моя цель - вставить фрагмент строки для параметра "length". Моя цель - вставить динамическое содержимое c, например:
"anyOf": [
{
"properties" : {
"name" : { "enum": [ "foo" ] },
"value" : { "type" : "number", "minimum": 0, "maximum": 150}
}
},
{
"properties" : {
"name" : { "enum": [ "foo2" ] },
"value" : { "type" : "number", "minimum": 0, "maximum": 155}
}
},
]
Я пытался что-то сделать с:
Поэтому мне нужна помощь в этом вопросе, и я буду очень благодарен за любые предложения.