2015-03-25 18 views
7

Użyłem kodeku swagger do generowania klas po stronie serwera jaxrs, a także klienckich klas java.kodek swagger zastępuje mój niestandardowy kod w wygenerowanych plikach

Jest to polecenie I używany do generowania klas 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 

kodu serwera, który został wygenerowany miał miejsce uchwyt do napisania „magii”.

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(); 
    } 

Dodałem "magię" w metodzie "echo" i zregenerowałem kod, aby go usunąć. Jednym ze sposobów uniknięcia utraty niestandardowego kodu jest modyfikacja szablonu kodegena w celu wygenerowania interfejsu zamiast klasy. Wtedy mogę mieć cały niestandardowy kod w zaimplementowanej klasie.

Próbuję dowiedzieć się, czy istnieje sposób, w jaki mogę zachować niestandardową "magię" nawet po zregenerowaniu kodu lub jeśli istnieje lepszy sposób radzenia sobie z tą sytuacją, niż zmiana szablonu w celu wygenerowania interfejsów zamiast klas.

+0

Zobacz także http://grokbase.com/t/gg/swagger-swaggersocket/153s7d49nr/codegen-is-overwriting-my-code –

Odpowiedz

1

Najnowszy mistrz Swagger Codegen pozwala na określenie plików nie być nadpisane w .swagger-Codegen-zignorować (podobny do .gitignore) podczas generowania kodu.

Proszę wyciągnąć najnowszego mistrza Swagger Codegen, aby spróbować.

AKTUALIZACJA: Wersja stabilna v2.2.2 została wydana. Więcej informacji znajduje się w dokumencie Release Notes: https://github.com/swagger-api/swagger-codegen/releases/tag/v2.2.2

+1

Co to jest przepływ pracy przy łączeniu nowych kod punktu końcowego punktu końcowego po dodaniu plików do pliku .swagger-codegen-ignore? –