JsonSchemaGenerator不生成最小,最大和必填字段

时间:2018-07-11 08:26:15

标签: java spring jackson

我正在使用最新的杰克逊库,并尝试为DTO生成json,但是在json响应中它不会生成@ Max,@ Min和@Required字段。下面是生成架构的代码。

public class BaseDTOSchemagenerator {
public static String generateSchema(final Object dto) {
    String dtoJson = null;
    final ObjectMapper om = new ObjectMapper();
    final JsonSchemaEnhancer jsonSchemaEnhancer = new JsonSchemaEnhancer();
    JsonSchemaGenerator schemaGen = new JsonSchemaGenerator(om);
    com.fasterxml.jackson.module.jsonSchema.JsonSchema jsonSchema;
    try {
        jsonSchema = schemaGen.generateSchema(dto.getClass());
        String jsonSchemaAsString = om.writeValueAsString(jsonSchema);
        JsonNode actualObj = om.readTree(jsonSchemaAsString);
        final JsonSchema schema = new JsonSchema((ObjectNode) actualObj);
        final String dtoName = dto.getClass().getCanonicalName();
        // BaseOutput.printTestOutput(" Dto for resource:\t" + dtoName);
        // BaseTestUtils.printJson(schema);
        dtoJson = BaseTestUtils.turnObjectToJson(schema);
    } catch (Exception e) {
        return null;
    }

    return dtoJson;
}

有没有一种方法可以生成这些字段?

0 个答案:

没有答案