20

JsonSchema にライブラリ com.fasterxml.jackson ライブラリを使用しています。以下のコードを使用して整数スキーマの範囲を設定すると、IntegerSchema オブジェクトを作成します。

main(){
     IntegerSchema intSchema = new IntegerSchema();
     // setMaximum accepts Double object 
     intSchema.setMaximum(new Double(102000000));
     // setMaximum accepts Double object
     intSchema.setMinimum(new Double(100));
    
     printJsonSchema(intSchema);
}


public void printJsonSchema(JsonSchema schema){
        ObjectMapper mapper = new ObjectMapper();
        try {
            logger.info(mapper.writeValueAsString(schema));
        } catch (JsonProcessingException e) {
            throw new IllegalStateException(e);
        }
}

ObjectMapper を使用して IntegerSchema を文字列に変換すると、以下の応答が得られます。

{"type":"integer","maximum":1.02E8,"minimum":100.0}

最大値と最小値が科学表記法に変換されています。

しかし、私は以下のように非科学的表記法で出力する必要があります:

{"type":"integer","maximum":102000000,"minimum":100}

IntegerSchema クラスを変更できません。

IntegerSchema クラスを拡張せずに必要な出力を取得する方法を提案してください。

前もって感謝します

4

5 に答える 5