位置: IT常识 - 正文

Spring Boot 中使用 Swagger(spring boot dao)

编辑:rootadmin
前后端分离开发,后端需要编写接⼝说明⽂档,会耗费⽐较多的时间。 swagger 是⼀个⽤于⽣成服务器接⼝的规范性⽂档,并且能够对接⼝进⾏测试的⼯具。 作用 ⽣成接⼝说明⽂档 对接⼝进⾏测试 使用步骤 添加依赖 <!--swagger--> <dependency> <groupId>io.sprin ...

推荐整理分享Spring Boot 中使用 Swagger(spring boot dao),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:spring boot s,spring boot+,spring boot.,spring boot用法,spring bootcsdn,spring boot用途,spring boot怎么用,spring boot怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!

前后端分离开发,后端需要编写接⼝说明⽂档,会耗费⽐较多的时间。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 { /** * 配置接口文档生成规则 */ @Bean public 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 = "提供用户的登陆、注册、修改等功能") //类说明public class UserController { @Resource private UserService userService; @GetMapping("/login") @ApiOperation(value = "登陆验证", notes = "用户登陆检查") //方法名说明 @ApiImplicitParams({ //参数说明 @ApiImplicitParam(dataType = "string", name = "username", value = "用户名", required = true), @ApiImplicitParam(dataType = "string", name = "password", value = "用户密码", required = false, defaultValue = "123") }) public ResultVo login(@RequestParam("username") String name, @RequestParam(value = "password", defaultValue = "123") String pwd) { return userService.checkLogin(name, pwd); }}

启动 SpringBoot 应用,访问 http://localhost:8080/swagger-ui.html

效果如下:

常用注解说明

@Api:类注解,使用在控制器类上,对类进行说明

控制器类 UserController 示例:

@Api(tags = "用户管理", value = "提供用户的登陆、注册、修改等功能") //类说明public class UserController {}

@ApiOperation:方法注解,使用在方法上,对方法名进行说明

@ApiImplicitParam 和 @ApiImplicitParams:方法注解,使用在方法上,对方法的形参进行说明

Spring Boot 中使用 Swagger(spring boot dao)

单个形参使用 @ApiImplicitParam,多个形参使用 @ApiImplicitParams

控制器类 UserController 的 login 方法示例:

@GetMapping("/login")@ApiOperation(value = "登陆验证", notes = "用户登陆检查") //方法名说明@ApiImplicitParams({ //参数说明 @ApiImplicitParam(dataType = "string", name = "username", value = "用户名", required = true), @ApiImplicitParam(dataType = "string", name = "password", value = "用户密码", required = false, defaultValue = "123")})public ResultVo login(@RequestParam("username") String name, @RequestParam(value = "password", defaultValue = "123") String pwd) { return userService.checkLogin(name, pwd);}

@ApiModel 和 @ApiModelProperty:当接⼝的形参或返回值为对象类型时,在实体类中添加此注解说明

接口的返回值为 ResultVo 对象示例:

@Data@NoArgsConstructor@AllArgsConstructor@ApiModel(value = "ResultVo 对象", description = "返回给前端的封装数据") //返回的类说明public class ResultVo { // 响应给前端的状态码 @ApiModelProperty("响应状态码") //属性说明 private int code; // 响应给前端的提示信息 @ApiModelProperty("提示信息") //属性说明 private String msg; // 响应给前端的数据 @ApiModelProperty("数据") //属性说明 private Object data;}

接口的形参为 User 实体对象示例:

@Data@NoArgsConstructor@AllArgsConstructor@ApiModel(value = "User 对象",description = "⽤户/买家信息")public class User {@ApiModelProperty(dataType = "int",required = false) private int userId; @ApiModelProperty(dataType = "String",required = true, value = "⽤ 户注册账号") private String userName; @ApiModelProperty(dataType = "String",required = true, value = "⽤ 户注册密码") private String userPwd; @ApiModelProperty(dataType = "String",required = true, value = "⽤ 户真实姓名") private String userRealname; @ApiModelProperty(dataType = "String",required = true, value = "⽤ 户头像url") private String userImg;}

@ApiIgnore:接⼝⽅法注解,添加此注解的⽅法将不会⽣成到接⼝⽂档中

swagger-ui 插件

发现一个规律,越学到最后,越是有惊喜,有不有?

swagger-ui 插件是一款 UI 美化插件,是基于 swagger 的。

之前使用的默认 swagger 文档和调试页面如果使用起来不太顺畅,可以试试这款 swagger-ui 插件。

使用

添加依赖

<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.9.6</version></dependency>

重启 SpringBoot 应用,访问 http://localhost:8080/doc.html

效果如下:

还等什么,赶紧装插件去~

本文链接地址:https://www.jiuchutong.com/zhishi/311890.html 转载请保留说明!

上一篇:织梦dede:sql标签动态查询调用其它文章信息方法(织梦标签工具)

下一篇:帝国CMS如何以原文件名命名附件(帝国cms怎么用)

  • 餐饮业小规模开发票开什么
  • 增值税专票开户行
  • 城建税 小规模
  • 增值税发票税号0和O
  • 索赔怎么开票
  • 税务登记投资方经济性质
  • 企业重组个人股东个人所得税
  • 公司买入股票要交所得税吗?
  • 个人债务转成股份
  • 政府项目的代建方案
  • 股票转让所得不交增值税
  • 属于制造费用的有
  • 个税返还奖励财务人员申报个税
  • 税控系统抄报税
  • 倒增值税发票过程
  • 成本票和费用票分别是什么
  • 开票码必须输入吗
  • 怎么查询发票是否已认证
  • 零申报还需要交税吗
  • 多计提的费用怎么调整
  • 企业净资产增长率上升说明什么
  • 客户扣款会计分录明细科目
  • 分期收款计提销项税怎么算
  • 小规模纳税人代理销售税率是多少
  • 法院强制拍卖房子流程
  • 账外资产评估入账固定资产折旧可以税前扣除吗?
  • mac桌面怎么整理
  • 自产货物用于销售
  • 向国外个人支付的佣金是否缴纳个人所得税
  • 新准则规定
  • windows7如何制表
  • 什么公司可以开专票
  • 企业清算分配的财产金额怎么算出来
  • php过滤sql注入
  • php抽象类可以多继承吗
  • 微信支付开发文档教程
  • 销售黄金的消费税
  • 怎么写产品成本分析
  • openssl 加密套件
  • php类的作用
  • css媒体查询不起作用
  • 股东出资方式包括
  • 企业为什么要开银行承兑汇票
  • 金融资产的转换
  • 物流企业财务流程
  • 预缴增值税附加税
  • phpcms文档
  • uni appp
  • 用友t3的操作流程
  • 应付账款从质保金扣除
  • 公司购买的家电怎么入账
  • 销售自产农产品的农民是增值税纳税人吗
  • 退休职工取暖费发放标准2023年
  • 应交税费会计核算
  • 新成立公司申报个税流程
  • 逾期纳税申报会被罚款吗
  • 进项税有什么相关要求
  • 低值易耗品五五摊销法报废
  • 非正常损失进项税额转出计算
  • 模糊查询的通配符有哪些
  • mysql 数据修改
  • winxp系统界面图片
  • linux查看mtime的命令
  • win10控制面板如何卸载软件
  • win8杀毒软件关闭
  • 常用的linux系统版本有哪些
  • windows10一分钟重启解决
  • 游戏引擎官方平台
  • debug命令及其基本操作
  • 注册表危险组件怎么安装
  • 用python做web
  • javascript详细介绍
  • 历年房产税
  • 代扣代缴企业所得税会计分录
  • 车船使用税2021
  • 杭州金税盘客服电话是多少
  • 发现个人所得税被物业挂职
  • 北京朝阳国家税务总局
  • 税务报道是干什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设