如何在SptingBoot项目中引入swagger生成API文档
目录
背景介绍,swagger的必要性
swagger的引入:
1.首先我们需要在 pom.xml文件中导入jar包
2.给swagger创建一个配置类:
3.为实体类添加注解
4.为controller添加注解
背景介绍,swagger的必要性
自从在2005年前端工程师诞生之后,随着js技术的进步和人们对网页的需求越来越高,全栈式程序员逐渐满足不了需求,所以前后端分离就被人提了出来。
然而,前后端分离虽然相比于全栈式减轻了程序员的负担但也产生了一个新的问题:前后端的交流问题。
因为我们知道,前端和后端是高度依赖的,在前端和后端进行数据传输的时候经常会因为一些命名问题导致报错,全栈式程序员会遇到这个问题更何况前后端分离。所以命名的规范以及前后端程序员的沟通就显得非常重要。
在这个过程中,需要我们后端程序员来给前端提交一个API文档。上面介绍着我们的那些方法,以及实体类中的变量名称,这是一个非常麻烦的问题,那么,有没有一个组件能帮助我们后端程序员自动生成这个API文档呢?
也就我们的主角登场:swagger
swagger可以帮助我们在创建实体类的时候就创建这个API仅仅只需要一些注解标签。
swagger的引入:
1.首先我们需要在 pom.xml文件中导入jar包
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
<version>4.4.0</version>
</dependency>
2.给swagger创建一个配置类:
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {@Bean(value = "dockerBean")public Docket dockerBean() {//指定使用Swagger2规范Docket docket=new Docket(DocumentationType.SWAGGER_2).apiInfo(new ApiInfoBuilder()//描述字段支持Markdown语法.description("# Knife4j RESTful APIs").termsOfServiceUrl("https://doc.xiaominfo.com/").contact("xiaoymin@foxmail.com").version("1.0").build())//分组名称.groupName("用户服务").select()//这里指定Controller扫描包路径.apis(RequestHandlerSelectors.basePackage("com.ffyc.news.web")).paths(PathSelectors.any()).build();return docket;}
}
3.为实体类添加注解
4.为controller添加注解
最后我们需要前段的访问地址:
http://ip:端口/doc.html