在弹出自动休息文档中自动显示枚举列表不能解释

时间:2017-11-30 13:00:30

标签: java spring asciidoctor spring-restdocs spring-auto-restdocs

我使用spring auto rest docs生成了一个文档。这使用了capital.scalable库与java docs和spring rest docs相结合。 我的问题是在描述请求字段时使用枚举列表。 Type列生成一个值 Array [Object] 。此外,描述列不会生成必须是带有枚举值的语句之一,就像只有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>

是该字段,然后如上所述它没有正确描述。

请让我知道如何更有效地生成文档?

1 个答案:

答案 0 :(得分:1)

你是对的,但是还没有正确支持枚举列表。

如果您有以下请求/回复:

class SomeRequest {

    public enum EnumTest {
        ONE, TWO
    }

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

记录为 List of enums documented with Spring Auto REST Docs 目前使用Spring Auto REST Docs。

如果类型为Array[String]并且描述将列出枚举的元素,那将是好的,例如&#34;元素必须是[...]&#34;。

之一

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

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