我确定我只是在这里密集。
我想采用对象架构,并将其转换为字符串表示形式。
像这样,但这会返回null:
JsonSchemaGenerator generator = new JsonSchemaGenerator(MAPPER);
JsonSchema jsonSchema = generator.generateSchema(Get.class);
System.out.println("jsonSchema: " + jsonSchema.asObjectSchema().asStringSchema());
这是使用com {fasterxml.jackson.module.jsonSchema.JsonSchema,位于https://github.com/FasterXML/jackson-module-jsonSchema/wiki
答案 0 :(得分:6)
你可以通过以下方式实现这一目标:
ObjectMapper mapper = new ObjectMapper();
SchemaFactoryWrapper visitor = new SchemaFactoryWrapper();
mapper.acceptJsonFormatVisitor(mapper.constructType(YOURCLASS.class), visitor);
JsonSchema jsonSchema = visitor.finalSchema();
String schemaString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonSchema);
答案 1 :(得分:0)
轻松完成:
m.writeValueAsString(jsonSchema);
基本上,使用Jackson将架构对象编组为JSON。