2017-10-09 4 views
1

Ich realisiere meine zweite API mit swagger/swagger-codegen. Nach einem wirklich guten Start mit meinem ersten, die bin ich etwas mit dem folgende Problem stecken: ich mehrere Definitionen wie die folgenden habe:swagger-codegen einfache Modelle fehlen

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

All diese Definitionen nur sind Aliasnamen für Typen String, einig mit Format Datum-Zeit, einige nackt wie die oben genannte.

Der Swagger-Editor ist in Ordnung mit diesen Definitionen.

Wenn ich eine von ihnen in einer $ref Klausel innerhalb einer Objektdefinition verwende, erzeugt der Generator in diesem Fall einen Verweis auf eine Klasse, die wie meine Definition TopIssueReference benannt ist.

Die erzeugte TopIssueReference Klasse ist die folgende (in 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(); 
    } 
} 

, die nicht wirklich nützlich ist.

Hat jemand eine Idee, was hier schief läuft? Sollte der Generator nicht entweder einen Verweis auf einen String erzeugen oder zumindest TopIssueReference von einer Zeichenkette ableiten (wie nützlich das auch sein mag)?

Für einige dieser Definitionen generiert der Generator überhaupt keine Klasse - aber die Referenzen sind immer noch da, so dass der resultierende Code nicht einmal kompiliert.

Ich habe versucht, Server und Clients mit Java und Python zu generieren, und beide haben das gleiche Problem.

+0

Sieht aus wie ein bekanntes Problem: [# 2314] (https://github.com/swagger-api/swagger-codegen/issues/2314), [# 3483] (https://github.com/swagger- api/swagger-codegen/issues/3483) – Helen

+0

Danke, ich habe das selbst nicht gefunden, aber es beschreibt genau mein Problem. – Gottfried

+0

Können Sie den letzten Meister versuchen? SNAPSHOT kann in der README gefunden werden. Ich erinnere mich, dass es eine PR gibt, die das angeht, aber ich könnte falsch liegen. –

Antwort

0

Versuchen Sie, den Code zu Ihrer Swagger-Datei zu generieren.

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

ich hoffe, es ist nützlich für Sie ...!