No mapping for GET /swagger-ui.html

这篇具有很好参考价值的文章主要介绍了No mapping for GET /swagger-ui.html。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2022-7-23

springboot项目整合swagger2项目,在访问swagger-ui.html页面时候发生错误,如下:
no mapping for get /swagger-ui.html,异常汇总,ui,html,java
控制台报错为:No mapping for GET /emos-wx-api/swagger-ui.html

解决办法:让swagger的配置类SwaggerConfig继承WebMvcConfigurer接口并且实现其中addResourceHandlers方法,如下:

@Configuration
@EnableSwagger2
public class SwaggerConfig implements WebMvcConfigurer {
    
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {

        registry.addResourceHandler("/**").addResourceLocations(
                "classpath:/static/");
        registry.addResourceHandler("swagger-ui.html").addResourceLocations(
                "classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations(
                "classpath:/META-INF/resources/webjars/");
        WebMvcConfigurer.super.addResourceHandlers(registry);
    }

    @Bean
    public Docket createRestApi() {
        Docket docket = new Docket(DocumentationType.SWAGGER_2);

        //ApiInfoBuilder定义Swagger页面基本信息
        ApiInfoBuilder builder = new ApiInfoBuilder();
        builder.title("EMOS在线办公系统");
        ApiInfo info = builder.build();
        docket.apiInfo(info);

        //使用ApiSelectorBuilder将Web方法添加到swagger页面
        ApiSelectorBuilder selectorBuilder = docket.select();
        selectorBuilder.paths(PathSelectors.any());
        //加入对应类对应方法具体通过添加注解ApiOperation实现
        selectorBuilder.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class));
        docket = selectorBuilder.build();

        //加入JWT到项目(令牌登录)  实现验证登录成功之后才能调用对应Web方法
        ApiKey apiKey = new ApiKey("token", "token", "header");
        //List<ApiKey>用户需要输入什么参数 请求提交的参数
        List<ApiKey> apiKeyList = new ArrayList<>();
        apiKeyList.add(apiKey);
        docket.securitySchemes(apiKeyList);

        //AuthorizationScope[] JWT认证在Swagger中的作用域
        AuthorizationScope scope = new AuthorizationScope("global", "accessEverything");
        AuthorizationScope[] scopes = {scope};
        //List<SecurityReference> 令牌的作用域
        SecurityReference reference = new SecurityReference("token", scopes);
        List refList = new ArrayList();
        refList.add(reference);
        //List<SecurityContext> 令牌上下文
        SecurityContext context = SecurityContext.builder().securityReferences(refList).build();
        List cxtList = new ArrayList();
        cxtList.add(context);
        docket.securityContexts(cxtList);

        return docket;
    }
}

再次访问http://localhost:8080/项目工程名/swagger-ui.html,会发现成功访问了
no mapping for get /swagger-ui.html,异常汇总,ui,html,java文章来源地址https://www.toymoban.com/news/detail-602850.html

到了这里,关于No mapping for GET /swagger-ui.html的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Springboot整合Swagger2后访问swagger-ui.html 404报错

    在spring boot项目中配置Swagger2,配置好了但是访问确实404,SwaggerConfig中的注入方法也执行了还是访问不到页面。究其原因是MVC没有找到swagger-ui包中的swagger-ui.html文件和css样式、js等文件。 解决⽅案: ⽅案1. 降低Swagger2的使用版本 ⽅案2. 使⽤配置⼀下+swagger-ui.html+指定的css⽬录

    2024年02月11日
    浏览(37)
  • Springboot配置Swagger展示API文档并进行接口测试(doc.html、swagger-ui.html)

    三、创建一个测试接口 http://localhost:8080/doc.html http://localhost:8080/swagger-ui.html

    2024年02月10日
    浏览(39)
  • 【SpringBoot】WebMvcConfigurer实现类不被加载(o.s.web.servlet.PageNotFound : No mapping for GET)的问题解决

    运行springboot项目的时候发现,明明访问的是一个页面,但是却被当作一个请求去处理了。 那么可以考虑到应该是资源文件没有被加载,或者说资源文件的映射没有被加载。 所以问题肯定可以缩小到是WebMvcConfigurer的实现类或者WebMvcConfigurationSupport的子类中的加载资源文件的方

    2024年02月14日
    浏览(40)
  • swagger 3.0.0 集成 springboot 2.6+ 生成doc.html 和swagger-ui

    1.项目中引入pom.xml依赖 特别说明: doc.html模式 swagger-bootstrap-ui只支持Swagger 2 knife4j是swagger-bootstrap-ui的升级版,支持Swagger 3。 2.创建Swagger2Config配置类 3.启动类输出文档地址 项目运行后 控制台输出log见下图 点击任意文档链接都可以进入对应的文档

    2024年02月12日
    浏览(62)
  • SpringBoot整合Swagger踩坑-项目启动报错与swagger-ui.html请求404无法访问

    依赖 常见依赖接入方式如下: springfox推荐 依赖接入方式如下: 建议使用推荐的方式,可以协助我们解决404异常的问题。 配置 依赖导入完成后创建 SwaggerConfig.java 配置: 报错信息: org.springframework.context.ApplicationContextException: Failed to start bean ‘documentationPluginsBootstrapper’; n

    2024年02月01日
    浏览(37)
  • localhost:8080/swagger-ui.html 访问不到 addResourceHandlers springmvc资源处理请求放行swagger

    无法访问swagger-ui.html 在swagger2.0+中可以用如下配置 解决办法:SpringMVC配置文件修改如下 关键是加入下面这一段 原因,为什么要这样? classpath:/META-INF/resources/ 映射到springfox-swagger-ui-2.9.2.jar!META-INFresources下的文件(包含了swagger-ui.html) classpath:/META-INF/resources/webjars/映射到s

    2024年02月15日
    浏览(46)
  • 【SpringDoc】SpringBoot 3 swagger-ui.html 报404 SpringDoc 官方文档问题(可能)

    本文针对 SpringBoot 3.x 版本!! SpringDoc v2 官方文档:https://springdoc.org/v2/ 旧版本的 swagger 和 1.x 版本的SpringDoc 均不支持 SpringBoot 3,所以对于 SpringBoot3 如下的两种 Swagger 或 SpringDoc 依赖 均不可用 ,注意,是 不可用 无数的文章甚至 官方文档 都表示,swagger-ui 界面的网址是 htt

    2024年02月16日
    浏览(49)
  • 使用阿里druid关闭stat-view-servlet,和swagger-ui.html不可用

    一、问题描述 (1)druid 使用阿里druid的作为数据源的配置,还配置了stat-view-servlet,导致线上项目被扫描出未授权访问漏洞。简单来说就是druid/spring.html,这个页面可以直接访问,展示项目相关信息。 (2)swagger 使用swagger也是同样的问题,swagger在开发的时候方便的,但是上

    2024年02月11日
    浏览(33)
  • @EnableWebMvc注解让swagger-ui.html无法打开404报错问题及其解决方案(史上最全最详细)

    在工作中,通过Swagger2对项目的controller进行配置,以便于用户测试restful服务接口提高开发效率。 但是今天却出现了一个让我匪夷所思的问题就是在配置类里面加上@EnableWebMvc注解后(开启web配置支持)启动项目 发现访问Swagger的ui界面404 这个我就奇怪了,然后我尝试的把@Ena

    2023年04月17日
    浏览(40)
  • swagger-ui

    目录 一、swagger-ui简介 1.1 swagger-ui原理 1.2 swagger-ui特点 二、swagger-ui+springboot页面使用 2.1 swagger-ui的依赖 2.2 加入以上依赖要注意的点 2.3 工具类 3.4 swagger-ui 常用注解 @Api (修饰类) @ApiOperation(修饰方法) @ApiParam (接收参数) @ApiModel (修饰参数对象类) @ApiModelProperty(修饰参数对象

    2024年02月02日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包