私はこの辺りで見ていると、これはこれらのいずれかの複製であるとは思わない:Wildflyジャクソン注釈を無視し、@Providerクラス
using Jackson annotations in Wildfly
jackson annotations being ignored
Wildfly and Jackson @JsonIgnore annotation
Wildfly 10を使用し、次のクラスの戦争を展開する:
@Provider
public class JaxApplication implements ContextResolver<ObjectMapper> {
private final ObjectMapper mapper;
public JaxApplication() {
mapper = new ObjectMapper();
mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
//throw new RuntimeException("HERE");
}
@Override
public ObjectMapper getContext(Class<?> type) {
throw new RuntimeException("HERE");
//return mapper;
}
}
コメントがない場合はコンストラクタで例外がスローされますが、RESTサービスにリクエストするとgetContext
メソッドのものは表示されません。
私はエンティティの@JsonIgnore
注釈を持って、それが働いていない、また(輸入は私がcom.fasterxmlを使用しています確認するために、クラスはこのようになっていることを私は
を使用してい@JsonIdentityInfo
注釈含まれています。* )
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* Created by mb995a on 7/29/2016.
*/
@Entity
@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class, property="@request_id", scope=Request.class)
public class Request extends BaseEntity {
私はREST設定で特別なことをする必要がありますか?
@ApplicationPath("api")
public class RestApplication extends Application {
public RestApplication() {
super();
}
}
編集:ObjectMapperを使用する単体テストもあり、正しくシリアル化されます。