- 首页 > 生活百科 > >
前后端分离开发,后端需要编写接?说明?档,会耗费?较多的时间 。swagger 是?个?于?成服务器接?的规范性?档,并且能够对接?进?测试的?具 。
作用
使用步骤
- 添加依赖
<!--swagger--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency> - 写配置类
SwaggerConfig
/** * SwaggerConfig 接口文档配置类 */@Configuration@EnableSwagger2public class SwaggerConfig {/*** 配置接口文档生成规则*/@Beanpublic Docket getDocket() {// 设置文档生成规则return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()) // 设置文档信息.select()// 设置哪个包下的类需要生成文档.apis(RequestHandlerSelectors.basePackage("com.luis.fmmall.controller")).paths(PathSelectors.any()) // 定义哪些路径的接口需要生成文档.build();}/*** 设置文档信息*/private ApiInfo apiInfo() {return new ApiInfoBuilder().title("xxx接口文档").description("这里是相关描述").version("1.0").contact(new Contact("luis","https://www.cnblogs.com/luisblog","xxx@qq.com")).build();}} - 在控制器类上使用 Swagger 的注解进行相关说明
示例如下:
@RestController@RequestMapping("/user")@Api(tags = "用户管理", value = "https://www.huyubaike.com/biancheng/提供用户的登陆、注册、修改等功能") //类说明public class UserController {@Resourceprivate UserService userService;@GetMapping("/login")@ApiOperation(value = "https://www.huyubaike.com/biancheng/登陆验证", notes = "用户登陆检查") //方法名说明@ApiImplicitParams({ //参数说明@ApiImplicitParam(dataType = "string", name = "username", value = "https://www.huyubaike.com/biancheng/用户名", required = true),@ApiImplicitParam(dataType = "string", name = "password", value = "https://www.huyubaike.com/biancheng/用户密码", required = false, defaultValue = "https://www.huyubaike.com/biancheng/123")})public ResultVo login(@RequestParam("username") String name,@RequestParam(value = "https://www.huyubaike.com/biancheng/password", defaultValue = "https://www.huyubaike.com/biancheng/123") String pwd) {return userService.checkLogin(name, pwd);}} - 启动 SpringBoot 应用,访问
http://localhost:8080/swagger-ui.html
效果如下:

文章插图
常用注解说明
@Api:类注解,使用在控制器类上,对类进行说明
控制器类 UserController 示例:
@Api(tags = "用户管理", value = "https://www.huyubaike.com/biancheng/提供用户的登陆、注册、修改等功能") //类说明public class UserController {}@ApiOperation:方法注解,使用在方法上,对方法名进行说明
@ApiImplicitParam 和 @ApiImplicitParams:方法注解,使用在方法上 , 对方法的形参进行说明
单个形参使用 @ApiImplicitParam,多个形参使用 @ApiImplicitParams
控制器类 UserController 的 login 方法示例:
@GetMapping("/login")@ApiOperation(value = "https://www.huyubaike.com/biancheng/登陆验证", notes = "用户登陆检查") //方法名说明@ApiImplicitParams({ //参数说明@ApiImplicitParam(dataType = "string", name = "username", value = "https://www.huyubaike.com/biancheng/用户名", required = true),@ApiImplicitParam(dataType = "string", name = "password", value = "https://www.huyubaike.com/biancheng/用户密码", required = false, defaultValue = "https://www.huyubaike.com/biancheng/123")})public ResultVo login(@RequestParam("username") String name,@RequestParam(value = "https://www.huyubaike.com/biancheng/password", defaultValue = "https://www.huyubaike.com/biancheng/123") String pwd) {return userService.checkLogin(name, pwd);}@ApiModel 和 @ApiModelProperty:当接?的形参或返回值为对象类型时,在实体类中添加此注解说明
接口的返回值为 ResultVo 对象示例:
@Data@NoArgsConstructor@AllArgsConstructor@ApiModel(value = "https://www.huyubaike.com/biancheng/ResultVo 对象", description = "返回给前端的封装数据") //返回的类说明public class ResultVo {// 响应给前端的状态码@ApiModelProperty("响应状态码") //属性说明private int code;// 响应给前端的提示信息@ApiModelProperty("提示信息") //属性说明private String msg;// 响应给前端的数据@ApiModelProperty("数据") //属性说明private Object data;}
推荐阅读
-
在古代人们尊称对方妻子叫什么 在古代人们尊称对方的妻子叫什么?
-
-
-
-
-
-
-
-
洪城一卡通可以挂失/补办/退款吗?具体条件及所需材料一览
-
浙江大佳幕墙装饰有限公司_工商信用信息_经营范围期限状态_法人_地址_注册资本_怎么样
-
-
柳州机动车临时行驶车如何办理手续 柳州机动车临时行驶车如何办理
-
灵活就业人员怎么交社保 支付宝上灵活就业人员怎么交社保
-
-
-
-
windows7两台电脑怎么共享 win7两台电脑如何共享文件
-
-
-