我当前正在生成这样的Json Schema:
class Item {
public int id;
public string name;
public string description;
}
ObjectMapper mapper = new ObjectMapper();
SchemaFactoryWrapper visitor = new SchemaFactoryWrapper();
mapper.acceptJsonFormatVisitor(Item.class, visitor);
JsonSchema schema = visitor.finalSchema();
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(schema));
哪些印刷品:
{
"type": "object",
"id": "urn:jsonschema:de:foo:bar:User",
"properties": {
"id": { "type": "integer" },
"name": { "type": "string" },
"description": { "type": "string" }
}
}
现在,我想从Item类的注释中将附加信息附加到每种类型。我希望它提供有关如何显示该字段输入的信息。
class User {
public int id;
public string name;
@MyJsonSchemaAnnotation(fieldName = "input", value = "textarea")
public string description;
}
哪个会给我的?
{
"type": "object",
"id": "urn:jsonschema:de:foo:bar:User",
"properties": {
"id": { "type": "integer" },
"name": { "type": "string" },
"description": { "type": "string", "input": "textarea" }
}
}
我认为这类似于@JsonDescription或JSR 303注释。如果这是完全可能的,那么我有点迷茫,如果可以的话,我必须以哪种方式实现它。因此,如果有人能给我提示在哪里看的话,将不胜感激!
答案 0 :(得分:0)
mbknor-jackson-jsonSchema包将Java POJO转换为json模式。它具有@JsonPropertyDescription
批注,可用于自定义架构。
请注意,到目前为止,它仅支持json模式的草案4。