【发布时间】:2021-09-24 19:20:53
【问题描述】:
我有一个特定的 DTO 用于返回作为 Swagger 文档的示例。如果我有成功的 201 代码,如何更改示例?
大摇大摆的示例响应:
我使用注释“@ApiModelProperty”来描述我的对象,但找不到如何更改不同响应代码的示例。在我的代码中,我不想显示 Errors 列表,因为它是一个可选属性,并且仅在生成非 201 代码时才可用。
想法?
【问题讨论】:
标签: java spring-boot springfox
我有一个特定的 DTO 用于返回作为 Swagger 文档的示例。如果我有成功的 201 代码,如何更改示例?
大摇大摆的示例响应:
我使用注释“@ApiModelProperty”来描述我的对象,但找不到如何更改不同响应代码的示例。在我的代码中,我不想显示 Errors 列表,因为它是一个可选属性,并且仅在生成非 201 代码时才可用。
想法?
【问题讨论】:
标签: java spring-boot springfox
您可以使用以下几个注释来做到这一点:
import io.swagger.v3.oas.annotations.media.ExampleObject;
@Operation(summary = "Your summary")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "Your description",
content = { @Content(mediaType = "application/json",
schema = @Schema(implementation = YourModel.class),
examples = [@ExampleObject(value = "{\"timestamp\": 1581552186590, \"status\": 404, \"error\": \"Not Found\", \"message\": \"Error message\", \"requestId\": \"62bcf95d\"}")]) })})
【讨论】:
@ApiResponse examples 属性的 JSON 字符串,如下所示:examples = [ExampleObject(value = "{\"timestamp\": 1581552186590, \"status\": 404, \"error\": \"Not Found\", \"message\": \"Error message\", \"requestId\": \"62bcf95d\"}")]。为了便于阅读,我已将其添加到我的答案中。