简介
使得前后端分离开发更加方便,有利于团队协作
接口的文档在线自动生成,降低后端开发人员编写接口文档的负担
功能测试
Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在项目中引入Springfox ,即可非常简单快捷的使用Swagger。
怎么使用
1.导入maven坐标
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId> </dependency>
2.在配置类中加入 knife4j 相关配置
/*** 通过knife4j生成接口文档* @return */@Beanpublic Docket docket() {ApiInfo apiInfo = new ApiInfoBuilder().title("苍穹外卖项目接口文档").version("2.0").description("苍穹外卖项目接口文档").build();Docket docket = new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo).select().apis(RequestHandlerSelectors.basePackage("com.sky.controller")).paths(PathSelectors.any()).build();return docket;}
3.设置静态资源映射,否则接口文档页面无法访问
也是在配置类中配置
/*** 设置静态资源映射* @param registry */ protected void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); }
4.测试
在浏览器中输入当前项目所在服务器的地址:8080/doc.html
常用注解
注解 说明 @Api 用在类上,例如Controller,表示对类的说明 @ApiModel 用在类上,例如entity、DTO、VO @ApiModelProperty 用在属性上,描述属性信息 @ApiOperation 用在方法上,例如Controller的方法,说明方法的用途、作用
- @Api(tags = "员工相关接口")
- 放在controller类名上使用tags标签说明当前controller层有什么作用
- @ApiOperation(value = "员工登录")
- 放在controller层中的方法上,用来说明当前方法有什么作用
- @ApiModel放在实体类上用来表述当前模型的作用
- @ApiModelProperty
- 用来说明当前实体类中的当前属性的作用