1
ジャージの圧縮機能を有効にしたい。私はjson形式のイベントのリストを返さなければならないWebサービスを持っています。 exempleの場合 :ジャージを使用したgzip圧縮の問題
{
"page": 1,
"pageCount": 1,
"list": [
{
"pk": 1,
"state": "ACTIVE",
"locationType": "ADDRESS",
"title": "titre",
"description": "hello",
"country": "osef",
"city": "osef",
"address": "osef",
"inAgendaCount": 0,
"dateBeginning": 1498734400758
}
]
}
しかし、私はgzip圧縮を有効にすると、応答はこのようなものです:
{
"page": 1,
"pageCount": 1,
"list": [
{
}
]
}
リストのすべてのイベントが遮断されています。ここ は私のWebサービスです:圧縮と
@Component
@Path("/")
public class EventSearchWebService {
@Autowired
private EventSearchController controller;
@GET
@Path("/event/search")
@Produces(MediaType.APPLICATION_JSON)
@JsonView(SmallView.class)
public Response search(@QueryParam("keywords") String keywords, @DefaultValue("1") @QueryParam("page") Long page) {
if (keywords != null && !keywords.trim().isEmpty()) {
return Response.status(200).entity(controller.search(keywords, page)).build();
} else {
return Response.status(200).entity(controller.search(page)).build();
}
}
}
マイResourceConfigの:
@Configuration
@ApplicationPath("/rest")
public class JerseyConfig extends ResourceConfig {
public JerseyConfig() {
// Compression
register(EntityFilteringFeature.class);
EncodingFilter.enableFor(this, GZipEncoder.class);
register(EventSearchWebService.class);
register(MultiPartFeature.class);
register(ValidationFeature.class);
register(ValidationExceptionMapper.class);
register(CrossDomainContainerResponseFilter.class);
registerClasses(AccessDeniedExceptionMapper.class,
GeneralUserExceptionMapper.class,
NoResultExceptionMapper.class,
UnknowExceptionMapper.class,
ValidationExceptionMapper.class);
}
}
そして、私のpageableListクラス:
public class PageableList<E> {
@Getter
@Setter
@JsonView(value = {SmallView.class, FullView.class})
private long page;
@Getter
@Setter
@JsonView(value = {SmallView.class, FullView.class})
private long pageCount;
@Getter
@Setter
@JsonView(value = {SmallView.class, FullView.class})
private List<E> list;
public PageableList() {
super();
}
public PageableList(List<E> list) {
super();
this.list = list;
}
}
ログにエラーがありません。何が起こっているのかを知っている人はいますか?
はあなたに
EDITありがとう:さらなる調査の後、私はPageableListせずに直接イベントの私のリストを送信する場合、私はエラーを持っていることが判明:
Can not resolve PropertyFilter with id 'org.vagrant.server.entity.EventEntity'; no FilterProvider configured (through reference chain: java.util.ArrayList[0])