qq_26846599 2017-02-22 09:09 采纳率: 0%
浏览 17554

springboot项目出现Did not find handler method for

项目启动成功,然后通过restclient去调用 http://127.0.0.1:8080/tiananServer/product/getProduct?id=1 时 后台日志:
7:00:18.511 [http-nio-8080-exec-1] DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping -Looking up handler method for path /product/getProduct
2017-02-22 17:00:18.514 [http-nio-8080-exec-1] DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping -Did not find handler method for [/product/getProduct]
2017-02-22 17:00:18.515 [http-nio-8080-exec-1] DEBUG o.s.web.servlet.handler.SimpleUrlHandlerMapping -Matching patterns for request [/product/getProduct] are [/**]
2017-02-22 17:00:18.516 [http-nio-8080-exec-1] DEBUG o.s.web.servlet.handler.SimpleUrlHandlerMapping -URI Template variables for request [/product/getProduct] are {}
2017-02-22 17:00:18.517 [http-nio-8080-exec-1] DEBUG o.s.web.servlet.handler.SimpleUrlHandlerMapping -Mapping [/product/getProduct] to HandlerExecutionChain with handler [ResourceHttpRequestHandler [locations=[ServletContext resource [/], class path resource [META-INF/resources/], class path resource [resources/], class path resource [static/], class path resource [public/]], resolvers=[org.springframework.web.servlet.resource.PathResourceResolver@b52b755]]] and 1 interceptor
2017-02-22 17:00:18.518 [http-nio-8080-exec-1] DEBUG org.springframework.web.servlet.DispatcherServlet -Last-Modified value for [/tiananServer/product/getProduct] is: -1
2017-02-22 17:00:18.519 [http-nio-8080-exec-1] DEBUG org.springframework.web.servlet.DispatcherServlet -Null ModelAndView returned to DispatcherServlet with name 'dispatcherServlet': assuming HandlerAdapter completed request handling
2017-02-22 17:00:18.520 [http-nio-8080-exec-1] DEBUG org.springframework.web.servlet.DispatcherServlet -Successfully completed request
2017-02-22 17:00:18.527 [http-nio-8080-exec-1] DEBUG org.springframework.web.servlet.DispatcherServlet -DispatcherServlet with name 'dispatcherServlet' processing GET request for [/tiananServer/error]
2017-02-22 17:00:18.527 [http-nio-8080-exec-1] DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping -Looking up handler method for path /error
2017-02-22 17:00:18.530 [http-nio-8080-exec-1] DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping -Returning handler method [public org.springframework.http.ResponseEntity> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)]
2017-02-22 17:00:18.530 [http-nio-8080-exec-1] DEBUG org.springframework.web.servlet.DispatcherServlet -Last-Modified value for [/tiananServer/error] is: -1
2017-02-22 17:00:18.652 [http-nio-8080-exec-1] DEBUG o.s.w.s.m.m.annotation.HttpEntityMethodProcessor -Written [{timestamp=Wed Feb 22 17:00:18 CST 2017, status=404, error=Not Found, message=No message available, path=/tiananServer/product/getProduct}] as "application/json;charset=UTF-8" using [org.springframework.http.converter.json.MappingJackson2HttpMessageConverter@5c8fc861]
2017-02-22 17:00:18.653 [http-nio-8080-exec-1] DEBUG org.springframework.web.servlet.DispatcherServlet -Null ModelAndView returned to DispatcherServlet with name 'dispatcherServlet': assuming HandlerAdapter completed request handling
2017-02-22 17:00:18.653 [http-nio-8080-exec-1] DEBUG org.springframework.web.servlet.DispatcherServlet -Successfully completed request
代码片段:
@Controller
@RequestMapping("/product")
public class ProductController {
@Autowired
private ProductService productService;

@RequestMapping(value = "/getProduct", method = RequestMethod.GET)
@ResponseBody
public String getProduct(Integer id) {
    Product product = productService.findById(id.toString());
    String jsonObject = JSONObject.toJSONString(product);
    return jsonObject;
}
}
########################################
@Configuration

@ComponentScan(basePackages = { "com.tianan.controller" })
public class TokenCheckConfig extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 拦截API请求
registry.addInterceptor(new TokenCheckInterceptor()).addPathPatterns("/**");
super.addInterceptors(registry);
}
}
######################################################
@Component
public class SimpleCORSFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "*");// 来允许任何站点对该资源进行跨域请求
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
chain.doFilter(req, res);
}

public void init(FilterConfig filterConfig) {
}

public void destroy() {
}

}
##################################################
@SpringBootApplication
@EnableAsync
@Import({ DynamicDataSourceRegister.class }) // 注册动态多数据源
@PropertySource(value = "classpath:datasource.properties")
public class BootApiApplication extends SpringBootServletInitializer {
private static Logger logger = Logger.getLogger(BootApiApplication.class);

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(BootApiApplication.class);
}

public static void main(String[] args) throws Exception {
    SpringApplication.run(BootApiApplication.class, args);
    logger.info("SpringBoot Start Success");
}

}
#########################################
需全部代码可联系本人,麻烦大侠帮忙看看下如何解决。

  • 写回答

1条回答 默认 最新

  • devmiao 2017-02-22 15:38
    关注
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!