我正在为我的 web 应用程序使用 Jersey + Jackson + Guice。现在我想为我的客户端实现一个简单的 REST 调用,我在服务器上接收任意 JSON 数据,但每次我得到以下异常:
org.codehaus.jackson.map.exc.UnrecognizedPropertyException:无法识别的字段“validTo”(类 org.codehaus.jettison.json.JSONObject),未标记为可忽略| 在 [来源:org.eclipse.jetty.server.HttpConnection$Input@1cafa346; 行:1,列:25](通过引用链:org.codehaus.jettison.json.JSONObject["validTo"])
我的方法签名如下所示:
@Override
@POST
@Consumes(MediaType.APPLICATION_JSON)
public void post(JSONObject json) throws JSONException {
}
我的 Guice 配置:
return Guice.createInjector(new TTShiroModule(this.servletContext), ShiroWebModule.guiceFilterModule(),
new ServiceModule(), new JerseyServletModule() {
@Override
protected void configureServlets() {
bind(GuiceContainer.class);
bind(MessageBodyReader.class).to(JacksonJsonProvider.class);
bind(MessageBodyWriter.class).to(JacksonJsonProvider.class);
serve("/rest/*").with(GuiceContainer.class, params);
}
@Provides
@Singleton
ObjectMapper objectMapper() {
final ObjectMapper mapper = new ObjectMapper();
return mapper;
}
@Provides
@Singleton
JacksonJsonProvider jacksonJsonProvider(ObjectMapper mapper) {
return new JacksonJsonProvider(mapper);
}
});
我搜索了这个异常很长时间,但找不到任何帮助。我也尝试了不同的方法,但无法解决这个问题。
任何人都可以帮助我吗?
如果您需要更多信息,请告诉我!
此致。