Spring 异常Does your handler implement a supported interface like Controller?] with root cause

今天在做项目的过程中,将Json转换成DTO对象出现问题,尝试了多种方法都不对,异常如下:

2012-11-21 15:16:03 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [springServlet] in context with path [/resourcelib] threw exception [No adapter for handler [public int com.ambow.resourcelib.web.controller.RdbStoreupController.removeResource(com.ambow.resourcelib.dto.ResourceDirectoryDTO)]: Does your handler implement a supported interface like Controller?] with root cause
javax.servlet.ServletException: No adapter for handler [public int com.ambow.resourcelib.web.controller.RdbStoreupController.removeResource(com.ambow.resourcelib.dto.ResourceDirectoryDTO)]: Does your handler implement a supported interface like Controller?
at org.springframework.web.servlet.DispatcherServlet.getHandlerAdapter(DispatcherServlet.java:1100)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:893)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)

      Spring Control的方法如下:

    @RequestMapping(value = "/removeResource", method = RequestMethod.POST)
@ResponseStatus(HttpStatus.OK)
public int removeResource(@RequestBody ResourceDirectoryDTO directoryDto) {

}

       经过反复的调试和对比,发现此方法有返回值,其它的增删改方法没有返回值,于是在此方法上加上@ResponseBody注解,问题解决

你可能感兴趣的:(Spring 异常Does your handler implement a supported interface like Controller?] with root cause)