- 首页 > 生活 > >
前后端分离开发,后端需要编写接?说明?档,会耗费?较多的时间 。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);}
经验总结扩展阅读
-
涂一层素颜也能美翻天,谁用谁爱上......这个防晒隔离太绝了
-
2022年10月12日走亲访友黄道吉日 2022年农历九月十七宜走亲访友吗
-
深零设计师姚工|合肥夫妇家中的高级场面,130平坚决沙发不靠墙,效果不是一般的实用
-
-
-
女士高档手表品牌推荐,女士手表排行榜10强女士手表推荐
-
-
在恋爱关系中|男人不会珍惜的两种女人,你是其中之一吗?
-
广东珠海中考时间2022年具体时间 广东珠海中考时间及科目安排
-
-
-
-
-
-
固态硬盘格式化选什么格式比较好 固态硬盘格式化选哪种格式比较好
-
-
一千多的女表什么牌子好点,能推荐一些适合女生的手表品牌吗?价格不超过1千的
-
-
-