我正在使用Jersey 2.4创建一个简单的REST接口来提供JSON对象.我的问题是我正在尝试使用fastxml Jackson注释来控制输出,这对我不起作用.我已将注释放入我的bean类中,但它们被忽略了.
当我显式创建一个ObjectMapper并使用它来对Java bean进行字符串化时,我得到了我想要的输出,它尊重了Jackson注释.但是,我更希望我不必执行此步骤,以便我的资源类可以简单地返回bean,并且Jersey框架负责对其进行字符串化.
我试图使用Custom ObjectMapper与Jersey 2.2和Jackson 2.1的答案解决这个问题,但是,这似乎对我没有用.我看到ContextResolver已创建,但从未调用过.
我也花了很多时间试图解决这个看似简单的问题.我已将其删除为一个非常简单的测试用例,如下所示.我很感激任何帮助解决这个问题.
资源Java类:
@Path("resource")
public class MainResource {
public static class Foobar {
@JsonIgnore
private String foo = "foo";
private String baa = "baa";
private Map<String, List<? extends Number>> map = new HashMap<>();
public Foobar() {
map.put("even", Arrays.asList(new Integer[] { 2, 4, 6, 8, 10 }));
map.put("odd", Arrays.asList(new Integer[] { 1, 3, 5, 7, 9 }));
map.put("float", Arrays.asList(new Float[] { 1.1F, 2.2F, 3.3F }));
}
public String getFoo() {
return …Run Code Online (Sandbox Code Playgroud)