spring - RestEasy 端点抛出 java.lang.NoSuchMethodError: org.codehaus.jackson.map.ObjectMapper.constructType
问题描述
我有一个 PUT 端点,它接受路径参数和请求正文。这是从控制器方法中截取的。@PathParam 似乎按预期工作正常。但是在提供请求正文时会出现异常。
@PUT
@Path("/post/{addressId}")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Response testPost(@PathParam("addressId") Long addressId,Test test) {
LOG.info(" inside testPost ");
Response r = null;
TestResponse testResponse = new TestResponse();
try {
testResponse.setMessage("Successful....");
testResponse.setTest(test);
r = Response.ok(testResponse).build();
} catch (Exception e){
LOG.error(e);
}
return r;
}
这是 POJO 类
public class Test {
private Long id;
private String name;
private String age;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
请求正文似乎没有被端点接收。当我收到以下错误时。
java.lang.NoSuchMethodError: org.codehaus.jackson.map.ObjectMapper.constructType(Ljava/lang/reflect/Type;)Lorg/codehaus/jackson/type/JavaType;
org.codehaus.jackson.jaxrs.JacksonJsonProvider.readFrom(JacksonJsonProvider.java:419)
org.jboss.resteasy.core.interception.MessageBodyReaderContextImpl.proceed(MessageBodyReaderContextImpl.java:105)
org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor.read(GZIPDecodingInterceptor.java:61)
org.jboss.resteasy.core.interception.MessageBodyReaderContextImpl.proceed(MessageBodyReaderContextImpl.java:108)
org.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:168)
org.jboss.resteasy.core.MethodInjectorImpl.injectArguments(MethodInjectorImpl.java:114)
org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:137)
org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:255)
org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:220)
org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:209)
org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:519)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:496)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119)
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
这些是我添加的一些依赖项,我相信它们对此会很有用。
httpclient-4.0.3.jar
httpcore-4.0.1.jar
jackson-core-asl-1.6.3.jar
jackson-jaxrs-1.9.13.jar
jackson-jaxrs-json-provider-2.2.1.jar
jackson-mapper-asl-1.6.3.jar
jackson-xc-1.6.3.jar
jaxrs-api-3.0.12.Final.jar
jboss-logging-3.3.1.Final.jar
jcip-annotations-1.0.jar
resteasy-jaxb-provider-3.1.0.Final.jar
resteasy-jettison-provider-2.3.1.GA.jar
resteasy-spring-2.2.1.GA.jar
scannotation-1.0.3.jar
resteasy-jackson-provider-2.3.10.Final.jar
jackson-annotaions-2.3.4.jar
jackson-databind-2.3.4.jar
我在这里错过了什么吗?
解决方案
推荐阅读
- python - Python对值进行排序并根据唯一键对它们进行分组
- linux - 从远程网站下载 PDF 文件
- laravel - 如何将数据发送到 laravel voyager 管理面板中的自定义按钮
- c# - 如何在通知期间调用 XAMARIN iOS 中的 AVPlayer 而不是 30 秒的最大持续时间通知声音?
- c - GTK_TOGGLE_BUTTON() 宏期间的段错误。更改复选框状态后更改的指针值
- firebase - Firebase:FieldValue.arrayUnion 与对象
- ios - UICollectionView 在 iOS 11 上覆盖全屏
- r - 在 R 中进行子集化后保留列表元素名称
- react-native - 配置branch.io后,ios构建失败,抛出node_modules/react-native-branch/ios/Branch-SDK/Fabric/Fabric.h:没有这样的文件或目录
- firebase - Firestore 规则限制用户只能读/写他们的数据