JAX-RS JsonIngore多个端点

时间:2014-05-28 18:49:07

标签: java json rest jackson jax-rs

如何根据端点抑制某些字段? @JsonIngore一个字段完全抑制。

例如:



Class A () {

    int id;
    String name;
    List list;

}

@Path("endpoint1")
public class Resource1 {

    private A a;
    ...

}

@Path("endpoint2")
public class Resource2 {

    private A a;
    ...

}


现在,在endpoint1中,我想显示B的列表,但不是在endpoint2中。

由于声誉无法回答我的问题,我只是在这里使用@JsonView发布解决方案。



    public interface View {
        public interface Public {};
        public interface Endpoint1 extends Public {};
    }

    Class A () {
        int id;
        String name;
        @JsonView(View.Endpoint1.class)
        List list;
    }

    @Path("endpoint1")
    public class Resource1 {
        private A a;
        ...
        @GET
        @JsonView(View.Endpoint1.class)
        @Produces({"application/json"})
        public A generate() {
            ...
        }
    }

    @Path("endpoint2")
    public class Resource2 {
        private A a;
        ...
    }


有关详情,请查看http://wiki.fasterxml.com/JacksonJsonViews

0 个答案:

没有答案