forked from D-Net/dnet-hadoop
Json schema generator
This commit is contained in:
parent
636f9ce7d6
commit
9a898c0e4c
|
@ -0,0 +1,22 @@
|
||||||
|
package eu.dnetlib.dhp.oa.graph.dump;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
|
import com.github.victools.jsonschema.generator.*;
|
||||||
|
import eu.dnetlib.dhp.schema.dump.oaf.Result;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class GenerateJsonSchema {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void generateSchema(){
|
||||||
|
SchemaGeneratorConfigBuilder configBuilder = new SchemaGeneratorConfigBuilder(SchemaVersion.DRAFT_7, OptionPreset.PLAIN_JSON)
|
||||||
|
.with(Option.SCHEMA_VERSION_INDICATOR)
|
||||||
|
.without(Option.NONPUBLIC_NONSTATIC_FIELDS_WITHOUT_GETTERS);
|
||||||
|
configBuilder.forFields().withDescriptionResolver(field -> "Description of "+field.getDeclaredName());
|
||||||
|
SchemaGeneratorConfig config = configBuilder.build();
|
||||||
|
SchemaGenerator generator = new SchemaGenerator(config);
|
||||||
|
JsonNode jsonSchema = generator.generateSchema(Result.class);
|
||||||
|
|
||||||
|
System.out.println(jsonSchema.toString());
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue