• SpringBoot配置自定义美化Swagger2


    1.添加maven依赖

     <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>2.9.2</version>
            </dependency>
     
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>2.9.2</version>
            </dependency>
     
            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>swagger-bootstrap-ui</artifactId>
                <version>1.8.9</version>
            </dependency>

    2.添加swagger2配置文件

    @Configuration
    public class Swagger2 {
     
        @Bean
        public Docket createRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.xiaokang.login_MP.controllor"))
                    .paths(PathSelectors.any())
                    .build();
        }
     
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("springboot利用swagger构建api文档")
                    .description("简单优雅的restfun风格,")
                    .termsOfServiceUrl("")
                    .version("1.0")
                    .build();
        }
    }

    3.对接口增加描述

    @ApiOperation(value = "登录页面", notes = "index登录页面")
        @RequestMapping("index")
        public String index() {
            return "index";
        }

    更多使用看最后资料

    4.开启Swagger2注解

    @MapperScan(value = "com.xiaokang.login_MP.dao")
    @EnableSwagger2
    @EnableSwaggerBootstrapUI
    @SpringBootApplication
    public class LoginMpApplication {
     
        public static void main(String[] args) {
            SpringApplication.run(LoginMpApplication.class, args);
        }
     
    }

    5.登录 http://localhost:8080/doc.html 来查看界面

    6.如果 输入 http://localhost:8080/doc.html 后显示404,找不到页面则需要配置一下

    @Configuration
    public class WebConf extends WebMvcConfigurationSupport {
     
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            // 将所有/static/** 访问都映射到classpath:/static/ 目录下
            registry.addResourceHandler("/**").addResourceLocations("classpath:/resources/")
                    .addResourceLocations("classpath:/static/").addResourceLocations("classpath:/templates/")
                    .addResourceLocations("classpath:/public/");
            // swagger2
            registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
            registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
            registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
            registry.addResourceHandler("/docs.html").addResourceLocations("classpath:/META-INF/resources/");
     
            super.addResourceHandlers(registry);
        }
    }

    7.Swagger2注解

    swagger通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息的等等。

    • @Api:修饰整个类,描述Controller的作用
    • @ApiOperation:描述一个类的一个方法,或者说一个接口
    • @ApiParam:单个参数描述
    • @ApiModel:用对象来接收参数
    • @ApiProperty:用对象接收参数时,描述对象的一个字段
    • @ApiResponse:HTTP响应其中1个描述
    • @ApiResponses:HTTP响应整体描述
    • @ApiIgnore:使用该注解忽略这个API
    • @ApiError :发生错误返回的信息
    • @ApiImplicitParam:一个请求参数
    • @ApiImplicitParams:多个请求参数

    8.更多参考链接

  • 相关阅读:
    转载 | CSS文本溢出显示省略号
    转载 | CSS书写顺序
    转载 | CSS布局大全
    threejs sprite 制作标签
    typeScript 中的类
    Es5中的类
    typeScript中的函数
    websocket在vue项目中的使用
    typeScript中的变量数据类型
    echarts 中的1/4圆环行图的使用
  • 原文地址:https://www.cnblogs.com/kangshuolei/p/12091889.html
Copyright © 2020-2023  润新知