【问题标题】:How Do I Mark A RequestParam As Optional In Swagger?如何在 Swagger 中将 RequestParam 标记为可选?
【发布时间】:2021-04-04 20:27:58
【问题描述】:

我正在使用 SpringFox 为我的 REST API 生成 swagger 文档。

我现在向我的 API 添加了一个可选参数:

@ApiOperation(
  value = "Get all cars"
)
@GetMapping(value = "/cars", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<ResponseDTO<CarDTO>> getCars(
  @RequestParam(defaultValue = "1") Integer page,
  @RequestParam(required = false) String status) {
  ResponseDTO<CarDTO> response = service.getCars(page, status);
  return ResponseEntity.ok(response);
}

如何在 swagger 文档中突出显示一个是必需的而另一个是可选的?

【问题讨论】:

    标签: java swagger springfox


    【解决方案1】:

    您可以使用@ApiParam 注释,它有一个属性required,您可以根据需要将其放入truefalse

    @ApiOperation(
      value = "Get all cars"
    )
    @GetMapping(value = "/cars", produces = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<ResponseDTO<CarDTO>> getCars(
      @ApiParam(required = true) @RequestParam(defaultValue = "1") Integer page,
      @ApiParam(required = false) @RequestParam(required = false) String status) {
      ResponseDTO<CarDTO> response = service.getCars(page, status);
      return ResponseEntity.ok(response);
    }
    

    正如您在documentation 中看到的,它还有其他属性,例如

    • access
    • allowableValues
    • allowMultiple
    • defaultValue
    • name
    • value

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-24
      • 2018-08-13
      相关资源
      最近更新 更多