开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):后台项目管理模块-整合 swagger】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11285
后台项目管理模块-整合 swagger
简介:
Swagger2介绍:
前后端分离开发模式中,api 文档是最好的沟通方式。
Swagger 是-个规范和完整的框架,用于生成描述、调用和可视化 RESTful 风格的Web 服务。
- 及时性(接口变更后,能够及时准确地通知相关前后端开发人员)
2.规范性(并且保证接口的规范性,如接口的地址,请求方式,参数及响应格式和错误信息) - 一致性(接口信息一致,不会出现因开发人员拿到的文档版本不一致,而出现分歧)
- 可测性(直接在接口文档上进行测试,以方便理解业务)
目录:
一、配置Swagger2
二、在模块service-base中,创建swagger配置类
三、固定的方法结构
四、在service-edu启动类上添加注解,进行测试
五、定义接口说明和参数说明和API模型
一、配置 Swagger2
1.创建 common 模块
在 guli-parent 下床架你模块 common
配置:
groupld;com.Atguigu
Artfactld;common
在 common 中引入相关依赖org.springframework.boot
spring-boot-starter-web
provided
com.bacmidou
mybatis-plus-boot-starterprovided
org.projectlomboklombok
provided
org.springframework.boot
spring-boot-starter-data-redis
(!--spring2.X#5,redisFfrcommon-pool2
org.apache.commonscommons-pool2(version>2.6.0
-->
io, springfox
springfox-swagger2provided
io.springfox
springfox-swagger-uiprovided
注:重要依赖
groupIdio.springfox
artifactIdspringfox--swagger2provided
cope
groupIdio.springfox
二、在模块 service-base 中,创建 swagger 配置类
com.atguigu.servicebase.config,创建类 SwaggerConfig
@Configuration
@EnableSwagger2
public class SwaggerConfig
@Bean
public Docket webApiConfig()
return new Docket (DocumentationType.SWAGGER_2)
groupName("webÂpi")
.apiInfo(webApiInfo())
.select()
.paths(Predicates.not(PathSelectors.regex("/admin/.*")))
.paths(Predicates.not(PathSelectors.regex("/error.*"))
.build();
private ApiInfo webApiInfoll
return new ApiInfoBuilder ()
.title("网站-课程中心API文档")
.description("本文档描述了课程中心微服务接口定乂")
.version("1.0")
.contact(new Contact("Helen","http://atguigu.com","55317332@qq.cm"))
三、固定的方法结构
@Configuration
@EnableSwagger2
public class SwaggerConfig
@Bean
public Docket webApiConfig()
return new Docket(DocumentationType.SWAGGER_2)
.groupName ("webApi" )
.apIInfo(webApiInfo())
.select()
.paths(Predicates.not(PathSelectors.regex("/admin/.*"))))
.paths(Predicates.not(PathSelectors.regex("/error.*")))
.build();
private ApiInfo webApiInfo()
return new ApiInfoBuilder()
.title("网站-课程中心API文档")
.description("本文档描述了课程中心微服务接口定义")
.version("1.0" )
.contact (new Contact("Helen","http://atguigu.com","55317332@qqcom").build();
四、在 service-edu 启动类上添加注解,进行测试
@SpringBootApplication
@ComponentScan (basePackages=('com.atguigu"))
public class EduAppIication{
五、定义接口说明和参数说明和 API 模型
定义在类上:@Api
定义在方法上:@ApiOperation
定义在参数上:@ApiParam
@Api (description="讲师管理" )
@RestController
@RequestMapping("/admin/edu/teachen")
public class TeacherAdminController
@Autawired
private TeacherService teacherService;
@ApiOperation(value.”所有讲师列表")
@GetMapping
public List(Teacher) list()
return teacherService.list(null);
@ApiOperation(value=”根据ID删除讲师" )
@DeleteMapping("(id]")
public boolean removeById
@ApiParam (name="id",value="讲师id",required = true)
@PathVariable String id)
return teacherService.removeById(id);
api文档:
title("网站课程中心API文档")
description("本文档描述了课程中心微服务接口定义")
version("1.0")
contact(new Contact(name:"java",url:"http://atguigu.com",email:"11236qq.com")
build() :