JBoss 7.1.1 の WAR アーカイブに Jax-rs エンドポイントをデプロイしました。null
その JSON 応答に、フィールド名を含めたくないので、付け@JsonSerialize
ました。
class MyResponse {
private Long id;
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
private String name;
private List<String> addresses;
// getters and setters
}
私pom.xml
は次のものを持っています
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>2.3.2.Final</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>2.3.2.Final</version>
<scope>provided</scope>
</dependency>
scope
forresteasy-jackson-provider
が設定されている場合provided
、アノテーションは無視さnull
れ、JSON 応答で返されます。ただし、scope
maven 依存関係から削除すると、機能します。
ここのページからhttps://docs.jboss.org/author/display/AS71/Implicit+module+dependencies+for+deployments Jax-RS デプロイメントが見つかった場合、JBoss はこのモジュールを自動ロードする必要があるようです。
これがバグなのか、この依存関係を本当に含める必要があるのか どうかはわかりません(保持しないでくださいprovided
)。それとも、私はそこで何か間違ったことをしていますか?