2017-10-09 104 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 

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