2017-10-09 71 views
1

我正在用swagger/swagger-codegen實現我的第二個API。 有我的第一個一個很好的開始之後我有點堅持了以下問題: 我有類似下面的多個定義:swagger-codegen簡單模型丟失

TopIssueReference: 
    description: Id of a top issue 
    type: string 
    example: 
    itemid: 'd32c1213-4773-442e-9c5f-f5d516358869' 

所有這些定義僅僅是字符串類型的別名,一些格式化日期時間,有些像上面那樣裸體。

對於這些定義,放大器編輯器很好。

當我在某個對象定義中的$ref子句中使用其中的一個時,生成器會生成一個類似我的定義的類的引用,在這種情況下,該類名爲TopIssueReference

生成TopIssueReference類是以下(在Java):

@ApiModel(description = "Id of a top issue") 
public class TopIssueReference { 
    @Override 
    public String toString() { 
    StringBuilder sb = new StringBuilder(); 
    sb.append("class TopIssueReference {"); 
    sb.append("}"); 
    return sb.toString(); 
    } 
} 

這不是真的有用。

有沒有人知道這裏發生了什麼問題? 不應該生成一個字符串的引用或至少使TopIssueReference從一個字符串派生(但可能是有用的)?

對於其中一些定義,生成器根本不會生成任何類 - 但引用仍然存在,所以生成的代碼甚至不會編譯。

我試着用java和python生成服務器和客戶端,並且都遇到了同樣的問題。

+0

看起來像一個已知的問題:[#2314](https://github.com/swagger-api/swagger-codegen/issues/2314),[#3483](https://github.com/swagger- api/swagger-codegen/issues/3483) – Helen

+0

謝謝,我實際上沒有找到這個,但它準確地描述了我的問題。 – Gottfried

+0

你可以試試最新的高手嗎? SNAPSHOT可以在README中找到。我記得有一位公關處理這件事,但我可能是錯的。 –

回答

0

試試貝婁代碼到你的swagger文件來生成代碼。

TopIssueReference: 
    description: Id of a top issue 
    type: object 
    properties: 
     itemid: 
     type: string 

我希望它對你有用......!