摇摇欲坠的枚举值未在下拉列表中显示?

时间:2019-05-10 10:24:34

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

这是我的接受枚举的控制器方法

@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;
}

现在的问题是,昂首阔步并没有在下拉列表中显示枚举的可能值,而是仅显示“ ReviewsSortBy()”作为该下拉列表中唯一的可选值。

注意:Swagger版本2.9.2

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

1 个答案:

答案 0 :(得分:0)

似乎您正在使用带有springfox的springboot。我有一个类似的问题,但不完全相同。使用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