2

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"
        }
      }
    }
  }
}

生成されたスキーマをカスタマイズする方法はありますか?

4

1 に答える 1