Logo

郎哥编程

集成Swagger2到项目

2022-03-27 281

项目前后端分离,接口需要单独调试,维护一份接口文档提供给前端开发者。Swagger2作为一个规范和完整的HTTP接口服务框架,可以用于生成、描述、调用和可视化 RESTful 风格的 HTTP接口。

项目集成Swagger2框架步骤如下。

1、pop.xml添加Maven依赖

在pop.xml文件中配置Swagger2依赖包。

<!--Swagger2的依赖-->
<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>
<!--Swagger2的依赖-->

配置完成后,单击窗口右侧Maven标签项,展开Maven管理窗口,单击“Reload All Maven Projects”即可完成依赖文件的下载。

2、创建Swagger2配置类

Swagger2配置类主要用于创建调试接口和接口文当,需要配置Controller类的包路径和生成接口文档的基本信息。

在项目com.milihua.ebook包下新建config包,在config包下建立SwaggerConfig类。

程序清单6.2 SwaggerConfig.java

public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(restApiInfo())
                .select()
                // 指定包名
                .apis(RequestHandlerSelectors.basePackage("com.hg.evaluation.controller"))
                .paths(PathSelectors.any())
                .build();
    }
 
    private ApiInfo restApiInfo() {
        return new ApiInfoBuilder()
                .title("springboot利用swagger2构建api文档")
                .description("简单优雅的restful风格")
                .termsOfServiceUrl("no terms of serviceUrl")
                .version("1.0")
                .build();
    }
}

SwaggerConfig类方法 createRestApi 函数创建 Docket的Bean之后,调用apiInfo()方法创建该 Api 的基本信息(这些基本信息会展现在文档页面中)。select()方法返回一个 ApiSelectorBuilder实例用来控制哪些接口暴露给 Swagger 来展现,本例采用指定扫描的包路径来定义Swagger 会扫描该包下所有 Controller 定义的 API,并产生接口文档内容。

3、配置EnableSwagger2注解

在项目应用类EbookApplication.java头部添加EnableSwagger2注解。

程序清单6.3 EvaluationApplication.java

@SpringBootApplication
@EnableSwagger2
@MapperScan("com.milihua.ebook.dao")
public class EbookApplication {
    public static void main(String[] args) {
        SpringApplication.run(EbookApplication.class, args);
    }
}


代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论