2

我使用 spring auto rest docs 生成了一个文档。这使用结合了 java 文档和 spring rest 文档的 capital.scalable 库。我的问题是描述请求字段时的枚举列表。类型列生成一个值作为Array[Object]。此外,描述列不会生成带有枚举值的must be one of语句,就像只有 Enum 是字段而不是枚举列表时那样。

public enum Discipline {
  ECONOMICS("economics"),
  SOCIOLOGYANTHROPOLOGY("sociologyanthropology");

  private final String discipline;

  Discipline(final String discipline) {
    this.discipline = discipline;
  }

  public String getId() {
    return discipline;
  }
}

以上是我拥有的枚举。当字段仅用作枚举时,它使用 tostring 正确显示在描述中。但是如果枚举列表即

List<Discipline>

是字段,那么它没有像上面提到的那样正确描述。

请让我知道应该怎么做才能更有效地生成文档?

4

1 回答 1

1

你是对的,枚举列表还没有得到适当的支持。

如果您有如下请求/响应:

class SomeRequest {

    public enum EnumTest {
        ONE, TWO
    }

    /**
     * List of enums
     */
    private List<EnumTest> enumTestList;
}

使用 Spring Auto REST Docs 记录的枚举列表 目前,它与 Spring Auto REST Docs一样记录在案 。

如果类型是Array[String],并且描述会列出枚举的元素,那就太好了,例如“元素必须是 [...] 之一”。

Spring Auto REST Docs 1.0.11修复了类型问题,因此Array[String]将与此版本一起显示。

我打开了一个问题来改进枚举列表的文档:https ://github.com/ScaCap/spring-auto-restdocs/issues/194 。在解决此问题之前,作为一种解决方法,可以手动将“元素必须是 [...] 之一”添加到列表的 Javadoc 中。

于 2018-01-02T18:44:44.397 回答