Swagger介绍
什么是Swagger?
Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标 是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。
Swagger常用注解
@Api 修饰整个类描述Controller作用 (用于类)
@ApiParam 单个参数描述 (用于方法)
@ApiModel 用对象来接收参数 (用于类)
@ApiModelProperty 用对象接收参数时 描述对象的一个字段 (用于方法,字段)
@ApiOperation 表示一个http请求的操作 (用于方法)
@ApiImplicitParam 单个请求参数 (用于方法)
@ApiImplicitParam 多个请求参数(用于方法)
@ApiIgnore 忽略这个api
Swagger使用方法
项目结构
源码 https://github.com/hejiajie6318272/swagger_test.git
添加依赖
这里我用的是springboot
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.30</version>
</dependency>
</dependencies>
创建配置类
@Configuration // 声明这是个配置类
@EnableSwagger2 // 开启Swagger2注解
public class SwaggerConfig {
@Bean
public Docket swaggerApi() {
return new Docket(DocumentationType.SWAGGER_2) // 文档类型为 swagger2
.apiInfo(apiInfo()) // Api 信息
.select()
// 扫描 czy包下标记了@RestController 或 @Controller的类 根据类的方法生成接口对象
.apis(RequestHandlerSelectors.basePackage("com.czy"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Swagger测试") // Api 标题
.description("Swagger文档") // Api描述
.version("1.0") // api版本
.build();
}
}
创建接口
@Api(value = "SwaggerTest测试")
public interface SwaggerApi {
@ApiOperation("第一个测试")
public String testOne(User user,String id);
}
创建Controller
@RestController
public class SwaggerController implements SwaggerApi {
@Override
@PostMapping("/test/{id}")
public String testOne(@RequestBody User user,@PathVariable ("id")String id) {
user.setId(id); // 将接收到的id设置到user对象
String string = JSON.toJSONString(user); // 将user对象转成json格式
return string;
}
}
创建实体类
@ApiModel(value = "用户对象") // 描述实体类
public class User {
@ApiModelProperty("用户姓名") // 描述字段
private String name;
@ApiModelProperty("用户性别")
private String sex;
@ApiModelProperty(hidden = true) // 该字段不显示
private String id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", sex='" + sex + '\'' +
", id='" + id + '\'' +
'}';
}
}
配置启动类
@SpringBootApplication
public class App
{
public static void main( String[] args )
{
SpringApplication.run(App.class);
}
}
启动项目后 输入 http://localhost:1111/swagger-ui.html#/
点击打开后
返回的JSON数据
来源:CSDN
作者:qq_42913304
链接:https://blog.csdn.net/qq_42913304/article/details/103629951