我有一个复杂的模型类,Java其中具有不同类的属性。我想以 yml 格式获取类的模式,以提高可读性。我能够将类的结构转换为 JSON 文件,但我觉得 yml 不那么混乱且易于准备。
示例 来自
public class Phone {
public String name;
public String number;
}
Run Code Online (Sandbox Code Playgroud)
到
Phone:
fields:
name:
type: String
number:
type: String
Run Code Online (Sandbox Code Playgroud)
Jackson 库提供了从 Java 类生成 JSONSchema 的能力。您应该能够将其序列化为 YAML,尽管我尚未实际测试这部分。它可能是这样的:
ObjectMapper m = new ObjectMapper();
SchemaFactoryWrapper visitor = new SchemaFactoryWrapper();
m.acceptJsonFormatVisitor(m.constructType(Phone.class), visitor);
JsonSchema jsonSchema = visitor.finalSchema();
ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
mapper.writeValue(yamlFile, jsonSchema);
Run Code Online (Sandbox Code Playgroud)
如果您使用枚举,您可能需要此配置
mapper.configure(SerializationConfig.Feature.WRITE_ENUMS_USING_TO_STRING, true);
Run Code Online (Sandbox Code Playgroud)
更多详细信息请参见Yaml 模块和JSON 模式模块的 github 页面
| 归档时间: |
|
| 查看次数: |
5017 次 |
| 最近记录: |