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

时间:2016-04-27 05:08:45

标签: java rest spring-mvc swagger-ui

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

下面的Swagger UI输出:

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

正如你所看到的,价值也有&#34;女性&#34;和&#34;男&#34;。应该是&#34; M&#34;和&#34; F&#34;而不是全文。

这是我的Java Enum

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属性,但是由于它没有帮助,所以正在做的事情一定有问题。

1 个答案:

答案 0 :(得分:0)

考虑实施自己的ParameterBuilderPlugin