【问题标题】:Generate Enum in Java Client with Swagger使用 Swagger 在 Java 客户端中生成枚举
【发布时间】:2016-03-28 22:16:44
【问题描述】:

我正在尝试使用 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 客户端中,expect/want 是这样的:

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();
  }
}

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

谁能告诉我我错过了什么?

编辑/

https://github.com/swagger-api/swagger-codegen/pull/1740 解决的问题

【问题讨论】:

标签: java api rest swagger swagger-2.0


【解决方案1】:

【讨论】:

    猜你喜欢
    • 2022-10-05
    • 2021-05-14
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    相关资源
    最近更新 更多