2017-07-11 5 views
2

私はREST APIを作成していますが、クラス生成にnullフィールドを無視するようにJacksonアノテーションを追加したいので、このアノテーションをonflyに追加したいと思います穴のプロジェクトのために。POJOクラスのnullフィールドを無視するようにしました

私は、これがapplication.propertiesに次の行を追加してacomplishedすることができることを知っている:

spring.jackson.default-property-inclusion=non_null 

をしかし、これはプロジェクト全体のためです。私はいくつかの「.mustache」ファイル

- api.mustache 
- apiController.mustache 

があることがわかり

私は、このいずれかのいずれかでいくつかのコードを追加する必要があり、または私はapplication.ymlにいくつかのコードを挿入する必要があることをsupose?

また、Swagger-codgenでSpring Bootを使用しています。

ありがとうございました。素敵な日です!

+0

このトピックについては、オープンGitHubの問題があります。サポート/ upvoteそれPLSのhttps://github.com/swagger-api/swagger-codegen/issues/6488 –

答えて

2

私がSwagger-codegenを使用しているので、数時間の研究の後、Swagger-Codegenに関するすべての回答をhttps://github.com/swagger-api/swagger-codegenで検索しなければならないことがわかりました。ここでは、すべてのテンプレートがあると私は、私は次の2つのファイルの私のプロジェクトに追加する必要があることがわかった

  • pojo.mustache
  • xmlAnnotation.mustache

あなたは上記のファイルを見つけることができますパスそれよりも

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

もっとあり、これらのファイルは、あなたのPOJOクラスを生成するためのシンプルなテンプレートですので、あなたはPOJOで@JsonInclude(JsonInclude.Include.NON_NULL)注釈を追加する必要があります。あなたがpojoクラスを生成するときに挿入されるためには、public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}}...という行の上にあるヒゲファイル。

もう一度プロジェクトを作成してください。 :)

+0

もしswaggerがコードを編集する必要なくこれをサポートしていれば私は不思議に思うでしょう。 – Doug

関連する問題