2015-03-25 7 views
7

Ich benutzte den Swagger Codegen, um Jaxrs Server-Side-Klassen und auch Client-Side-Java-Klassen zu generieren.Swagger Codegen überschreibt meinen benutzerdefinierten Code in generierten Dateien

Dies ist der Befehl, den ich die Klassen zu generieren verwendet enter code here

java -jar modules/swagger-codegen-distribution/target/swagger-codegen-distribution-2.1.2-M1.jar -i /Users/me/Workspace/swagger-codegen/samples/yaml/echo.yaml -l jaxrs -o samples/server/echo/java 

Der Server-Code, der generiert wurde, einen Platzhalter hatte meine „Magie“ zu schreiben.

public Response echo(@ApiParam(value = "" )@HeaderParam("headerParam") String headerParam, 
    @ApiParam(value = "",required=true) @QueryParam("message") String message) 
     throws NotFoundException { 
     // do some magic! 
     return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); 
    } 

Ich fügte hinzu, die „Magie“ in den „Echo“ Verfahren und den Code regenerierte, nur um es zu sehen vernichtet. Eine Möglichkeit, den Verlust von benutzerdefiniertem Code zu vermeiden, besteht darin, die Codegen-Vorlage so zu ändern, dass anstelle einer Klasse eine Schnittstelle generiert wird. Dann kann ich den ganzen benutzerdefinierten Code in der implementierten Klasse haben.

Ich versuche herauszufinden, ob es eine Möglichkeit gibt, die benutzerdefinierte "Magie" auch nach der Neugenerierung des Codes beizubehalten, oder wenn es eine bessere Möglichkeit gibt, diese Situation zu behandeln, als die Vorlage so zu ändern, dass Schnittstellen anstelle von Klassen generiert werden.

+0

Siehe auch http://grokbase.com/t/gg/swagger-swaggersocket/153s7d49nr/codegen-is-overwriting-my-code –

Antwort

1

Die neueste Meister der Swagger Codegen können Sie Dateien angeben nicht in .swagger-CODEGEN-ignore überschrieben werden (ähnlich .gitignore) während der Codegenerierung.

Bitte ziehen Sie den neuesten Meister von Swagger Codegen, um es zu versuchen.

UPDATE: Stabile Version v2.2.2 wurde veröffentlicht. Bitte beachten Sie die Release-Informationen für weitere Informationen: https://github.com/swagger-api/swagger-codegen/releases/tag/v2.2.2

+1

Was ist Ihr Workflow der Zusammenführung neu Endpunkt-Code nach dem Hinzufügen der Dateien zu .swagger-codegen-ignore? –

Verwandte Themen