使用resttemplate向基于弹簧的休息服务发出请求时,我收到以下错误
以下是我的代码:
public void getData(String ip){
try{
RestTemplate rt = new RestTemplate();
rt.getMessageConverters().add(new MappingJacksonHttpMessageConverter());/////Error Occurs are this line
rt.getMessageConverters().add(new StringHttpMessageConverter());
String uri=new String("http://"+ip+":8080/pcap");
Pcap_params pcap=new Pcap_params();
pcap.setFlow_id("786");
pcap.setIp_a("192.65.78.22");
pcap.setPort_a("8080");
pcap.setRegex("%ab");
pcap.setTime_range("22-23");
ResponseEntity rep=rt.postForEntity(uri, pcap, ResponseEntity.class);
System.out.println("hi");
}
以下错误我得到
org.springframework.web.util.NestedServletException:处理程序处理失败;嵌套异常是java.lang.NoClassDefFoundError: 组织/ Codehaus的/杰克逊/ JsonProcessingException org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:972) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
请注意我使用
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.http.converter.json.MappingJacksonHttpMessageConverter;
与org/codehaus/jackson/JsonProcessingException
的使用无关,所以真的很混淆为什么会出现错误。我也尝试添加库,但是它没有找到没有找到类dif:objectmapper
的错误。
答案 0 :(得分:0)
MappingJacksonHttpMessageConverter
只是Jackson
库的包装器。如果你没有在classparth上,你会收到这个错误。
如果您使用Maven,解决方案将包括:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.6</version>
</dependency>
答案 1 :(得分:0)
问题解决了,问题在于spring的版本,更新了pom.xml,如下所示
<properties>
<java-version>1.6</java-version>
<org.springframework-version>3.1.2.RELEASE</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.6.6</org.slf4j-version>
</properties>