我需要在Java的swagger-ui中显示枚举的自定义值。
我的DTO中有一个枚举(性别)。摇摇欲坠的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>


如您所见,该值还具有“女性”和“男性”。应该是“ 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

关于java - 如何在Java的Swagger UI中显示枚举的自定义值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36880786/

10-13 03:24