簡體   English   中英

使用Swagger在Java客戶端中生成枚舉

[英]Generate Enum in Java Client with Swagger

我正在嘗試使用Swagger 2.0創建API。 我想使用SwaggerUI生成交互式文檔,還希望生成API客戶端(使用Java,JavaScript ...)。 我只是嘗試生成一個小型Java客戶端。

我在枚舉方面有問題...在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();
  }
}

這個類不是真的正確,它甚至不包含枚舉值!

有人可以告訴我我在想什么嗎?

編輯/

https://github.com/swagger-api/swagger-codegen/pull/1740解決的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM