zoukankan      html  css  js  c++  java
  • Swagger 报错 no mapping found for http request with uri [/***/swagger-ui.html] in dispatcherservlet with name '***'

    swagger报错:

    no mapping found for http request with uri [/***/swagger-ui.html] in dispatcherservlet with name '***'。

    场景复现:

    整合Swagger时候,按照网上的整合教程。整合完之后,进行测试,无法打开swagger-ui.html的界面。

    后台爆出d for http request with uri [/***/swagger-ui.html] in dispatcherservlet with name '***'。这个是因为没有找到swagger-ui.html的资源,无法映射到具体的问题。

    解决方式:

    在配置文件中增加<mvc:default-servlet-handler />标签成功解决了问题。

    <mvc:default-servlet-handler />标签的作用:

    因为在RESTful的风格中我们一般映射请求的设置为'/',这个时候Spring MVC 将接收到的所有请求都看作是一个普通的请求,

    包括对于静态资源的请求。这样以来,所有对于静态资源的请求都会被看作是一个普通的后台控制器请求,导致请求找不到而报 404 异常错误。

     <mvc:default-servlet-handler />的出现就是为了解决这个问题,在 WEB 容器启动的时候会在上下文中定义一个DefaultServletHttpRequestHandler,

    这个DefaultServletHttpRequestHandler 会对DispatcherServlet 的请求作出处理,当已经请求果该请求已经作了映射,那么会接着交给后台对应的处理程序,

    如果没有作映射,就交给 WEB 应用服务器默认的 Servlet 处理,从而找到对应的静态资源,只有再找不到资源时才会报错。

    参考资料:

    https://blog.csdn.net/qq_27093465/article/details/78972010

     

  • 相关阅读:
    c语言中统计字符串中数字出现的次数
    tyvj1294 小v的舞会
    tyvj1114 搭建双塔
    tyvj1193 括号序列
    tyvj1113 魔族密码
    tyvj1102 单词的划分
    tyvj1097 mm不哭
    tyvj1189 盖房子
    tyvj1098 任务安排
    tyvj1144 股票
  • 原文地址:https://www.cnblogs.com/tujietg/p/10683866.html
Copyright © 2011-2022 走看看