我正在尝试使用Jackson API从Pojo类生成JSON模式。
但是我面临的问题是,对于某些字段,JSON模式包含$ref
。
如何在没有$ref(references)
的情况下从Java POJO转换为JSON模式。
还是有办法进一步处理JSON模式以解决$ref
吗?
下面是我的代码:
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true);
mapper.setVisibilityChecker(
mapper.getSerializationConfig().
getDefaultVisibilityChecker().
withFieldVisibility(Visibility.ANY).
withGetterVisibility(Visibility.NONE));
JsonSchemaGenerator schemaGen = new JsonSchemaGenerator(mapper);
com.fasterxml.jackson.module.jsonSchema.JsonSchema schema = schemaGen.generateSchema(Protocol.class);
模式部分看起来像
"items" : {
"type" : "object",
"$ref" : urn:jsonschema:swift:drivers:nms:traffic:tunnels:core:complexParams:ELSPCosParams"
}
但是我希望生成内联模式,而不是$ ref部分。
任何人都可以帮助或指导如何进行吗?