springboot 集成swagger2.x 后静态资源报404

package com.bgs360.configuration;

import org.springframework.context.EnvironmentAware;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.util.StopWatch;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import static springfox.documentation.builders.PathSelectors.regex;

/**
 * <pre>
 * Swagger配置类
 * </pre>
 *
 * @author zyg
 */
@Configuration
@EnableSwagger2
public class SwaggerConfig extends WebMvcConfigurationSupport implements EnvironmentAware {
  private Environment environment;

  @Override
  public void setEnvironment(Environment environment) {
    this.environment = environment;
  }

  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("swagger-ui.html")
        .addResourceLocations("classpath:/META-INF/resources/");
    //springboot 集成swagger2.2后静态资源404,添加如下两行配置
    registry.addResourceHandler("/**")
    .addResourceLocations("classpath:/static/");

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

  @Bean
  public Docket docket() {
    //最重要的就是这里,定义了/test/.*开头的rest接口都分在了test分组里,可以通过/v2/api-docs?group=test得到定义的json
    StopWatch watch = new StopWatch();
    watch.start();
    Docket docket = new Docket(DocumentationType.SWAGGER_2)
        .groupName("org")
        .apiInfo(this.apiInfo())
        .select()
        .apis(RequestHandlerSelectors.any())
        .paths(regex("/org/building/.*"))
        .build();
    watch.stop();
    return docket;
  }

  private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
        .title("测试Api")
        .description("测试Api接口信息")
        .contact(new Contact("[email protected]", null, null))
        .license("Apache 2.0")
        .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html")
        .version("1.0.0")
        .build();
  }

}

  

原文地址:https://www.cnblogs.com/irobotzz/p/12000668.html

时间: 2024-10-09 17:08:15

springboot 集成swagger2.x 后静态资源报404的相关文章

springboot打包后静态资源webapp文件夹无法打包进去

1.如下图的目录结构 webapp 文件夹和resources 文件夹同级.使用mvn clean install 打包过后项目启动访问,静态资源页面404. 2.原因,springboot 打包时候要指定静态资源的加载路径,我在pom文件中添加如下配置,再次打包就可正常访问静态页面. 原文地址:https://www.cnblogs.com/javazxy/p/12088121.html

springboot集成swagger2构建RESTful API文档

在开发过程中,有时候我们需要不停的测试接口,自测,或者交由测试测试接口,我们需要构建一个文档,都是单独写,太麻烦了,现在使用springboot集成swagger2来构建RESTful API文档,可以在访问接口上,直接添加注释 先介绍一下开发环境: jdk版本是1.8 springboot的版本是1.4.1 开发工具为 intellij idea 我们先引入swagger2的jar包,pom文件引入依赖如下: <dependency> <groupId>io.springfox&

SpringBoot集成Swagger2在线文档

目录 SpringBoot集成Swagger2在线文档 前言 集成SpringBoot 登录接口文档示例 代码 效果 注解说明 总结 SpringBoot集成Swagger2在线文档 前言 不得不说,前后端分离开发的工作方式给我们带来诸多好处, 让前后端攻城狮们顺畅了不少 后端给前端提供良好的接口文档是一种品质,也会减少彼此的沟通成本 这里推荐小伙伴们一款在线.实时更新接口文档工具,Swagger2,解放双手不是梦,谁用谁知道 集成SpringBoot 添加依赖 <dependency> &l

Spring MVC 读取静态资源时404错误

背景:web.xml配置时拦截策略是拦截所有请求: <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-

Tomcat静态资源访问404问题

Tomcat静态资源访问404问题     前言 该问题并不是eclipse或者是tomcat的问题,究其原因是自己资源路径写的有问题   分析 我的开发工具是eclipse,而不管是什么工具,项目都会有一个根路径 如图(右击项目->Properties->Deployment assembly) 注意source一栏就是根路径 如下 /src /target/m2e-wtp/web-resources /WebContent 那么根路径有什么用呢 例如,一般会把前端的资源放在项目中的WebC

springboot 集成swagger2 404 无法访问

之前按照网上的教程集成swagger2.集成之后访问链接http://localhost:8080/swagger-ui.html返回404. 然后看了一下错误日志,报下面的错误: 2018-06-06 11:26:06.903 WARN org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/swagger-ui.html] in DispatcherServlet

springboot 集成swagger2

使用Swagger 可以动态生成Api接口文档,在项目开发过程中可以帮助前端开发同事减少和后端同事的沟通成本,而是直接参照生成的API接口文档进行开发,提高了开发效率.这里以springboot(版本2.1.4.RELEASE)集成swagger2并以简单测试用例延时集成效果. 1.准备工作 pom依赖加入swagger <!--swagger--> <dependency> <groupId>io.springfox</groupId> <artif

springboot + thymeleaf静态资源访问404

在使用springboot 和thtmeleaf开发时引用静态资源404,静态资源结如下: index.html文件: <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset = "UFT-8" /> <title>Spring Boot Application</title> <lin

获取springboot项目static目录的静态资源

在项目开发的时候肯定会遇到这样的场景需求.比如,需要读取项目static目录下的静态资源.但是应该怎么实现这样的需求呢?最近笔者在开发一个springboot项目也是遇到了类似的需求.就是把一些城市信息存放到一个json文件里面,而这个json文件就是存放到项目的static目录中.接下来就看看笔者是怎么拿到这些城市信息数据的. 步骤一:构造一个json文件 [ { "name": "北京", "city":[{"name":