使用Swagger

时间:2015-12-22 15:39:28

标签: java api rest swagger swagger-2.0

我正在尝试使用Swagger 2.0创建API。我想使用SwaggerUI生成一个交互式文档,并生成API客户端(在Java,JavaScript ...中)。我刚刚尝试生成一个小型Java客户端。

我的Enumerations有问题...在Swagger中我可以编写以下内容(YAML在这里,如果直接编写JSON,问题是相同的):

 definitions:
   MediumStatus:
     type: string
     enum:
       - CLOSED
       - OPEN_AVAILABLE
       - OPEN_NOT_AVAILABLE
       - NOT_AVAILABLE

在生成的Java客户端中,期望/想要的是:

public enum MediumType
{
CLOSED,
OPEN_AVAILABLE,
OPEN_NOT_AVAILABLE,
NOT_AVAILABLE;

public String value()
{
    return name();
}

public static MediumType fromValue(String v)
{
    return valueOf(v);
}

}

但SwaggerCodegen生成一个客户端:

    @ApiModel(description = "")
    @javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-21T14:03:23.470Z")
   public class MediumType   {

  @Override
  public String toString()  {
    StringBuilder sb = new StringBuilder();
    sb.append("class MediumType {\n");

    sb.append("}");
    return sb.toString();
  }
}

这个类不是很正确,它甚至不包含枚举值!

有人可以告诉我我错过了什么吗?

EDIT /

https://github.com/swagger-api/swagger-codegen/pull/1740

引发的问题

1 个答案:

答案 0 :(得分:0)