Giriş
Şu satırı dahil ederiz.
Örnek
Elimizde şöyle bir sınıf olsun.
Elimizde şöyle bir sınıf olsun.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Eğer bir alanı dahil etmek istemezsek şöyle yaparız.
Şu satırı dahil ederiz.
import com.fasterxml.jackson.module.jsonSchema.JsonSchema;
Bir sınıfın tipini ve tüm alanlarını json formatında schema olarak yazar. Böylece java sınıfını python'a gönderebiliriz.Örnek
Elimizde şöyle bir sınıf olsun.
import com.fasterxml.jackson.annotation.JsonProperty;
public class Person {
@JsonProperty("name")
private String name;
}
Çıktı olarak şöyle bir json verir.{
"type" : "object",
"id" : "urn:jsonschema:org:gradle:Person",
"properties" : {
"name" : {"type" : "string"}
}
}
ÖrnekElimizde şöyle bir sınıf olsun.
public class Pojo {
private String string = "default";
public int integer = 1;
public String getString(){
return string;
}
}
Çıktı olarak şöyle bir schema alırız.{
"type":"object",
"id":"urn:jsonschema:Pojo",
"properties":{
"string":{"type":"string"},
"integer":{"type":"integer"}
}
}
constructorÖrnek
Şöyle yaparız.
public static String getJsonSchema (Class clazz) throws IOException {
ObjectMapper mapper = new ObjectMapper();
JsonSchemaGenerator jsonSchemaGenerator = new JsonSchemaGenerator(mapper);
JsonSchema jsonSchema = jsonSchemaGenerator.generateSchema(clazz);
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonSchema);
}
ÖrnekŞöyle yaparız.
ObjectMapper mapper= new ObjectMapper();
JsonSchemaGenerator generator = new JsonSchemaGenerator(mapper);
JsonSchema jsonSchema = generator.generateSchema(Pojo.class);
System.out.println(mapper.writeValueAsString(jsonSchema));
setId metoduEğer bir alanı dahil etmek istemezsek şöyle yaparız.
jsonSchema.setId(null);
Hiç yorum yok:
Yorum Gönder