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.
Siehe auch http://grokbase.com/t/gg/swagger-swaggersocket/153s7d49nr/codegen-is-overwriting-my-code –