2017-07-11 4 views
2

Ich mache eine REST-API und möchte bei der Klassengenerierung die Jackson-Annotation hinzufügen, um Nullfelder zu ignorieren, daher möchte ich diese Annotation onfly für bestimmte Klassen hinzufügen, nicht für das Lochprojekt.Swagger Codegen ignorieren Nullfelder für POJO-Klassen

Ich weiß, dass dies, indem in application.properties die folgende Zeile acomplished werden:

spring.jackson.default-property-inclusion=non_null 

Aber die für ganzes Projekt ist.

Ich sehe, dass es einige „.mustache“ Dateien

- api.mustache 
- apiController.mustache 

Ich nehme an, dass ich einen Code in einem dieser einen hinzuzufügen haben, oder sollte ich etwas Code in application.yml einfügen?

Ich benutze auch Spring Boot mit Swagger-codgen.

Vielen Dank im Voraus und einen schönen Tag!

+0

Es gibt offene GitHub Problem zu diesem Thema. Support/upvote es PLS https://github.com/swagger-api/swagger-codegen/issues/6488 –

Antwort

2

Ok, nach ein paar Stunden Recherche habe ich festgestellt, dass ich, da ich Swagger-Codegen verwende, in https://github.com/swagger-api/swagger-codegen nach allen Antworten zu Swagger-Codegen suche. Hier sind alle Vorlagen und ich fand, dass ich brauche, um mein Projekt die folgenden zwei Dateien

  • pojo.mustache
  • xmlAnnotation.mustache

Der Pfad hinzuzufügen, in dem Sie die oben genannten Dateien finden

ist
swagger-codegen/modules/swagger-codegen/src/main/resources/JavaSpring/ 

Mehr als das, sind diese Dateien einfach Vorlagen, um Ihre Pojo Klassen zu erzeugen, so müssen Sie die @JsonInclude(JsonInclude.Include.NON_NULL) Anmerkung im pojo hinzuzufügen. Schnurrbart-Datei, über der Zeile mit public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}}..., um beim Generieren von Pojo-Klassen eingefügt werden.

Und fertig, bauen Sie Ihr Projekt erneut! :)

+0

Ich wäre neugierig, wenn Swagger dies unterstützt, ohne ihren Code bearbeiten zu müssen. – Doug

Verwandte Themen