java - Swagger 枚举值未显示在下拉列表中?

标签 java spring-boot swagger swagger-ui swagger-2.0

这是我的 Controller 方法,其中接受枚举

@GetMapping("/{sortBy}/{page}/{size}")
    public ResponseDto<ReviewsResponseDto, Void> searchAllReviews(
            @PathVariable(value = "sortBy") ReviewsSortBy sortBy,
            @PathVariable Integer page, @PathVariable Integer size) 

这是我的枚举 ReviewsSortBy

@Getter
@ToString
public enum ReviewsSortBy {
      DEFAULT,
      FEATURED,
      RECENT;
}

现在的问题是 swagger 不会在下拉列表中显示枚举的可能值,而是仅将“ReviewsSortBy()”显示为下拉列表中唯一可选的值。

注意:Swagger 版本 2.9.2

这是相同的屏幕截图。 swagger dropdown issue with enums

最佳答案

看起来您正在使用 springboot 和 springfox。我有一个类似的问题,但不是完全相同的问题。使用 Spring 请求映射注释的 consumes 属性显式指定允许的内容类型会导致 Swagger 中的枚举下拉字段变成文本框。

文本输入

  @PostMapping(value = "/items/{uuid}/images",
      produces = MediaType.APPLICATION_JSON_UTF8_VALUE,
      consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
  @PreAuthorize(Scopes.PUBLISH)
  public ImageMetadataDTO upload(@PathVariable @Uuid String 
      @RequestParam(value = "graphicType") GraphicType 

枚举下拉列表

  @PostMapping(value = "/items/{uuid}/images",
      produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
  @PreAuthorize(Scopes.PUBLISH)
  public ImageMetadataDTO upload(@PathVariable @Uuid String 
      @RequestParam(value = "graphicType") GraphicType 

关于java - Swagger 枚举值未显示在下拉列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56075653/

相关文章:

java - Swagger 或 springfox 忽略 Pageable 参数

java - servlet中 'main method'的作用是什么?

java - Android Firebase 同步检索数据和 "returning"

java - 在 spring-boot 中使用 2 个数据库时出现问题。无法 Autowiring 。未找到 EntityManagerFactoryBuilder 的 beans

swagger - Springfox 全局响应头

java - 如何使用 swagger-jaxrs-doclet 的输出来生成 swagger 文档?

java - 哈希库代码帮助

java - 覆盖时如何增加文件大小

java - Spring Boot YAML 文件中的多个属性

spring-boot - 支持 MQTT 的 API 网关 (IOT)