首页 > 解决方案 > 为 Swagger DTO 对象提供默认值

问题描述

阅读有关@ApiModelProperty时,我以为我终于找到了解决此问题的方法,但它只是没有用。

这是我正在使用的内容:

控制器

@RestController
@Api(value = "inventorySnapshot")
@RequestMapping("/business/v1/inventorySnapshots")
@Slf4j
public class InventorySnapshotController  {

    @ApiOperation(value = "@api.operation.summary.put_dtos@")
    @PutMapping
    public ResponseEntity<Void> put(final @RequestBody List<MyDTO> dtos) {
        log.debug("Put InventorySnapshots");
        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
    }
}

DTO

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MyDTO {

    @NotNull(groups = ForDocumentationOnly.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", lenient = OptBoolean.FALSE)
    private Date availableFromDate;

    @ApiModelProperty(example = "2021-01-11T11:11:11Z")
    @NotNull(groups = ForDocumentationOnly.class)
    @DateTimeFormat(pattern = "yyyy-MM-ddThh:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss'Z'", lenient = OptBoolean.FALSE)
    private Timestamp calculationDateTime;

    // more properties for which I wish to keep the default suggested by Swagger...
}

结果

改变 1

改变 2

预期的

我很期待它是这样的:

在此处输入图像描述

有什么线索吗?

标签: javaswaggerdocumentationswagger-uiswagger-2.0

解决方案


推荐阅读