如何在 Java 的 Swagger UI 中显示枚举的自定义值



我需要在java的swagger-uUI中显示枚举的自定义值。我的 DTO 中有一个枚举(性别)。招摇 UI 根据需要显示下拉列表,但显示文本和选项值也相同。

招摇的 UI 输出如下:

 <select id="mgender0.6152790512895818" name="gender" class="parameter ">
      <option value="" selected=""></option>
      <option value="Female"> Female  </option>
      <option value="Male"> Male  </option>
  </select>

如您所见,该值还具有"女性"和"男性"。这应该是"M"和"F",而不是全文。

这是我的Java枚举

public enum Gender {
    F("Female"), M("Male");
    private String displayValue;
    private Gender(String displayValue) {
        this.displayValue = displayValue;
    }
    @Override
    public String toString() {
        return displayValue;
    }
    public String getDisplayValue() {
        return displayValue;
    }
    public String getName() {
        return name();
    }
}

招摇的预期输出为:

    <select id="mgender0.6152790512895818" name="gender" class="parameter ">
      <option value="" selected=""></option>
      <option value="F"> Female  </option>
      <option value="M"> Male  </option>
  </select>

请帮助我。我已经尝试了@APIModel属性,但是我所做的事情一定有问题,因为它没有帮助。

考虑实现你自己的 ParameterBuilderPlugin。

最新更新