FasterXML のjson-schema generatorを使用して POJO から json-schema を構築しています。私のPOJOがカスタムjsonシリアル化を使用するまで、すべてがうまくいきます。私の場合、タイプ org.joda.Money のフィールドがあり、対応する joda-module でシリアル化します。Beanは次のようにシリアル化されています
{
"amount": "...",
"currency": "..."
}
しかし、そのスキーマは次のようになります。
{
"type" : "object",
"id" : "urn:jsonschema:org:joda:money:Money",
"properties" : {
"amount" : {
"type" : "number"
},
"amountMinorLong" : {
"type" : "integer"
},
"scale" : {
"type" : "integer"
},
"minorPart" : {
"type" : "integer"
},
"positive" : {
"type" : "boolean"
},
"amountMajor" : {
"type" : "number"
},
"amountMinor" : {
"type" : "number"
},
"amountMinorInt" : {
"type" : "integer"
},
"positiveOrZero" : {
"type" : "boolean"
},
"zero" : {
"type" : "boolean"
},
"negative" : {
"type" : "boolean"
},
"amountMajorLong" : {
"type" : "integer"
},
"amountMajorInt" : {
"type" : "integer"
},
"negativeOrZero" : {
"type" : "boolean"
},
"currencyUnit" : {
"type" : "object",
"id" : "urn:jsonschema:org:joda:money:CurrencyUnit",
"properties" : {
"symbol" : {
"type" : "string"
},
"numeric3Code" : {
"type" : "string"
},
"countryCodes" : {
"type" : "array",
"items" : {
"type" : "string"
}
},
"code" : {
"type" : "string"
},
"decimalPlaces" : {
"type" : "integer"
},
"defaultFractionDigits" : {
"type" : "integer"
},
"currencyCode" : {
"type" : "string"
},
"pseudoCurrency" : {
"type" : "boolean"
},
"numericCode" : {
"type" : "integer"
}
}
}
}
}
生成されたスキーマをカスタマイズする方法はありますか?