Giriş
Şu satırı dahil ederiz.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Elimizde şöyle bir sınıf olsun.
Şu satırı dahil ederiz.
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.module.jsonSchema.JsonSchema;
import com.fasterxml.jackson.module.jsonSchema.JsonSchemaGenerator;
constructor - ObjectMapperŞöyle yaparız.
ObjectMapper mapper = new ObjectMapper();
JsonSchemaGenerator jsonSchemaGenerator = new JsonSchemaGenerator(mapper);
constuctor - ObjectMapper + JsonSchemaConfigŞöyle yaparız.
ObjectMapper objectMapper = new ObjectMapper();
JsonSchemaConfig config = JsonSchemaConfig.nullableJsonSchemaDraft4();
JsonSchemaGenerator schemaGenerator = new JsonSchemaGenerator(objectMapper, config);
JsonNode jsonNode = schemaGenerator.generateJsonSchema(Test.class);
String jsonSchemaText = jsonNode.toString();
generateSchema metoduŞöyle yaparız.
JsonSchema jsonSchema = jsonSchemaGenerator.generateSchema(Person.class
);
rejectAdditionalProperties metoduElimizde şöyle bir sınıf olsun.
class A{
private String s;
private B b;
public String getS() {
return s;
}
public B getB() {
return b;
}
}
Şöyle yaparız.ObjectMapper mapper = new ObjectMapper();
JsonSchemaGenerator schemaGen = new JsonSchemaGenerator(mapper);
ObjectSchema schema = schemaGen.generateSchema(A.class).asObjectSchema();
schema.rejectAdditionalProperties();
mapper.writerWithDefaultPrettyPrinter().writeValueAsString(schema);
Çıktı olarak şunu alırız{
"type" : "object",
"id" : "urn:jsonschema:com.xxx.xxx:A",
"additionalProperties" : false,
"properties" : {
"s" : {
"type" : "string"
},
}
}
Hiç yorum yok:
Yorum Gönder