- 首页 > 生活 > >
前后端分离开发,后端需要编写接?说明?档,会耗费?较多的时间 。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年12月3日求神拜佛好吗 2022年12月3日求神拜佛好不好
-
-
-
-
-
泡沫说情感|心理学:凭感觉选一朵蘑菇,测你未来会靠什么发家致富?
-
马丽|马丽也逃不过“中年发福”?穿白衬衫身材圆润不少,连气质都变了
-
鲍里斯·约翰逊|乌克兰本已准备好和谈,却遭英前首相约翰逊竭力阻拦
-
-
我是文食肆|人生不顺时,默念三句话,你会越来越强大!
-
-
-
2022年农历九月廿三祭祀灶神吉日 2022年10月18日适合祭祀灶神吗
-
-
熊猫医学社|40岁男子转氨酶280,确诊肝硬化,医生咆哮:3个习惯,是“祸根”
-
-
2023年农历八月初四宜认干儿子吗 2023年9月18日认干儿子好不好