首页 > 解决方案 > 在 Swagger 中为请求后定义示例输入

问题描述

我在 SpringBoot 中使用 DTO 进行休息服务,如下所示:

private int id;   
private String name;   
private int phone;
//get and set

在我的控制器类中,我这样定义 Swagger 注释:

@ApiOperation(value = "Create a new person", response = personDTO.class)
    @ApiResponses(value = {
            @ApiResponse(code = 201, message = "Successful operation", response = personDTO.class),
            @ApiResponse(code = 400, message = "Server error")})

    @PostMapping("person")
    @ResponseBody
    public ResponseEntity<personDTO> createPerson(@RequestBody personDTO person);

Swagger 文档显示了一个基于 DTO输入带有idnamephone的 json 的示例。

可以从示例中删除“id”吗?该值由数据库自动递增,并应在调用后作为输入给出。

是否也可以指定示例值?F.example 例子是

{ "name":"Mike", "phone":"12345" }

标签: spring-bootswagger

解决方案


@ApiModelProperty在您的 DTO 中针对该属性使用:

隐藏:

@ApiModelProperty(hidden = true)

例如值:

@ApiModelProperty(example = "Sam")

推荐阅读