【发布时间】:2019-03-26 12:12:35
【问题描述】:
我在下面写了一段代码:
@PostMapping(path = "/process", produces = MediaType.APPLICATION_JSON_VALUE)
@ApiOperation(value = "Get process with given ID", produces = MediaType.APPLICATION_JSON_VALUE,
response = ProcessType.class)
public ResponseEntity<ProcessType> createProcessType(
@RequestBody
@DTO(ProcessTypeDto.class) ProcessType processType
) {
log.info("POST called on /process");
ProcessType processTypeResult;
...
...
}
效果很好。但我的问题是招摇。我做了一个自定义注释@DTO,它自动将一个类映射到另一个类。但是,swagger 看到了我的 ProcessType 请求正文,并在该类的 UI 中而不是 ProcessTypeDto 中显示示例。如果我删除 swagger 显示的内容并 POST ProcessTypeDto 代码有效,我希望 swagger 显示 ProcessTypeDto 作为此端点的默认示例,因为它会破坏 codegen。
有没有办法手动指定我想要从 swaggers POV 中覆盖 my@Requestbody 的请求正文?
【问题讨论】:
-
任何 Swagger 注释 (github.com/swagger-api/swagger-core/wiki/Annotations-1.5.X) 有帮助吗? @ApiParam,@ApiImplicitParam?
标签: java spring spring-boot swagger swagger-ui