1. 前后端分离的特点
2. 在没有swagger之前
3. swagger的作用
4. swagger的优点
5. 集成swagger
5.1 新建springboot项目
使用集成开发工具创建一个springboot工程
5.2 集成swagger
5.2.1 打开https://mvnrepository.com/ , 查找springbox,在pom.xml中导入如下图标出的依赖。
需要下载一个ui和swagger2这两个包
-------------------------------------------------
小编呢也给你们提供了使用人数最多的一个版本
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
5.2.2 编写swagger的配置类
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
.paths(PathSelectors.ant("/swaggerdemo/**"))
.build();
}
private ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("SwaggerDemo API DOC")
.description("SwaggerDemo API DOC")
.version("1.0")
.termsOfServiceUrl("https://www.baidu.com")
.build();
}
}
注意: 该配置类需要根据自己的项目修改,如以下配置
- paths 指定需要生成文档的url规则
- title 文档标题
- description 描述
5.3 开发一个controller用于测试
@RestController
@RequestMapping("/swaggerdemo")
public class HelloController {
@GetMapping("/hello")
public Object hello(@RequestBody User user) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("code", 1);
map.put("msg", "操作成功");
return map;
}
}
5.4 启动服务,验证集成效果
服务启动后,访问:http://localhost:8080/swagger-ui.htm
说明集成成功
6. swagger常用注解和使用
6.1 常用注解列表:
注: 更全面的信息可以参考官方说明文档: swagger-annotations 1.3.10 API
6.2 使用
1.
作用就是描述这个类是干什么的,比如:
2.
比如上图是要获取用户信息
3.
user是一个模型,由于处理接收参数
4.
model里面的每个属性可以通过此注释标记
7. 测试
7.1 delete:
注:先点击try it out,然后必须输入id在执就行了
7.2 put(修改)
注:和删除差不多,可以直接修改名字密码,能修改的前提是:
这里配置了