首页 > 其他分享 >mall学习02-整合swagger

mall学习02-整合swagger

时间:2023-05-24 13:03:39浏览次数:38  
标签:02 springfox 生成 mall 文档 注解 ui swagger

2 swagger简介

Swagger是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。

Swagger is used together with a set of open-source software tools to design, build, document, and use RESTful web services. Swagger includes automated documentation, code generation (into many programming languages), and test-case generation.

mall学习02-整合swagger_spring

3 swagger-ui依赖

  1. 引入swagger原生依赖springfox-swagger2springfox-swagger2-ui
  2. 引入国内Spring4All社区开发的依赖swagger-spring-boot-starter

在pom.xml中添加如下依赖

<!--Swagger-UI API文档生产工具-->
<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>

4 添加swagger配置类

详细信息见作者注解;

代码添加swgger-ui配置文件

注意:Swagger对生成API文档的范围有三种不同的选择

  • 生成指定包下面的类的API文档
  • 生成有指定注解的类的API文档
  • 生成有指定注解的方法的API文档

mall学习02-整合swagger_运行测试_02

给controller添加swagger注解

mall学习02-整合swagger_spring_03

CommentGenerator为MyBatis Generator的自定义注释生成器,修改addFieldComment方法使其生成Swagger的@ApiModelProperty注解来取代原来的方法注释,添加addJavaFileComment方法,使其能在import中导入@ApiModelProperty,否则需要手动导入该类,在需要生成大量实体类时,是一件非常麻烦的事。

注释:CommentGenerator为方法生成的模型代码添加了相关ApiModelProperty注解,免去了手动添加的过程。为后面展示ApiModelProperty注解内部内容提供方便。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q45pgxwI-1602927431728)(/Users/fwd/Library/Application Support/typora-user-images/image-20201017171325408.png)]

下图为生成模型代码的截图,清晰可见注释内容。

mall学习02-整合swagger_spring_04

5 操作展示

点击运行测试项目就可以查看整个swagger ui的界面,操作也十分简单,不再重复展示。

mall学习02-整合swagger_运行测试_05

6 小结

swagger-ui很方便地完成了api的文档化和可操作化,而且文档风格也简单而优雅,国人开发的swagger-spring-boot-starter的启动器同样值得一试。

后续可以简单探究下swagger的api自动转化为web界面的相关原理。


标签:02,springfox,生成,mall,文档,注解,ui,swagger
From: https://blog.51cto.com/u_13674158/6338642

相关文章

  • mall学习01-整合mybatis
    1-mall学习01-概览学习链接2导入数据库#pwd#/Users/fwd/03-fwd_git/05-fly-higher-in-java/96-mall/note-mall#cp../opencode-mall/mall-learning/document/sql/mall.sql./安装mysql容器dockerrun--name=mall-mysql-it-p3306:3306-eMYSQL_ROOT_PASSWORD=root-dmys......
  • C/C++超市商品管理系统[2023-05-24]
    C/C++超市商品管理系统[2023-05-24]9、超市商品管理系统问题描述:设计并实现一个超市商品管理系统,商品需设置不同的类型,系统可以实现对商品信息的添加,修改,删除,查找等功能,商品信息需要以文件方式保存到计算机硬盘中。基本功能:(1)商品要设置不同的类型,如水果、饮料等;(2)商品信息包......
  • 【2023-05-23】有难同当
    20:00我们应该努力将玫瑰培育得更好,而不是想方设法将其变为百合。                                                 ——亚伯拉罕·马斯洛早上出门下大雨,是夏天的雨。......
  • XCZU15EG处理板设计原理图:(ZCU102E的pin兼容替代卡) 基于 XCZU15EG的双 FMC通用信号处
    (ZCU102E的pin兼容替代卡)基于XCZU15EG的双FMC通用信号处理板一、板卡概述   本板卡基于XilinxZynqUltrascale+MPSOC系列SOCXCZU15EG-FFVB1156架构,PS端搭载一组64-bitDDR4,容量32Gb,最高可稳定运行在2400MT/s,1路USB3.0接口、1路千兆网络接口、1路DP接口......
  • 2023(ICPC)江西省赛I题题解
    I.Tree题意:两种操作,操作1:将一棵树一条路径上的边权异或上一个数,操作2:或者询问一个点周围所有边权的异或和。题解:首先,异或有一个性质A⨁A=0⇒A⨁B⨁A=B在进行操作一时,对X到Y的简单路径上的每一条边权异或,会是这样的情况X_w1_Z_w2_P_w3_Y,根据上面......
  • 蓝桥杯2022年第十三届决赛真题-斐波那契数组(动态规划)
    题目描述如果数组A=(a0,a1,···,an−1)满足以下条件,就说它是一个斐波那契数组:n≥2;a0=a1;对于所有的i(i≥2),都满足ai=ai−1+ai−2。现在,给出一个数组A,你可以执行任意次修改,每次修改将数组中的某个位置的元素修改为一个大于0的整数。请问最......
  • APIO 2023 真·旅游记
    Day0不知道为什么能来线上,就当来南京旅游了。前一周被感冒折磨的要死,爸妈阳了还不能回家,状态非常非常差,上周末还去深圳打了gdcpc。很累。早上六点钟起床,赶七点半的飞机,大概十点就到了。下飞机发现APIO的老师在迎接我们,等到十一点之后就出发去了酒店。车上甚至有桌子,其他人......
  • 【愚公系列】2023年05月 .NET CORE工具案例-C#调用Python的二种方式
    (文章目录)前言.NET调用Python的作用和意义是可以利用Python强大的数据处理和机器学习能力,结合.NET的优势进行开发,提高开发效率和应用性能。同时,Python也可以通过.NET进行调用,实现跨语言的开发和应用。一、C#调用Python的三种方式1.ironPython调用1.1ironPython的安装IronP......
  • 2023-05-23:如果交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等, 那么称 X
    2023-05-23:如果交换字符串X中的两个不同位置的字母,使得它和字符串Y相等,那么称X和Y两个字符串相似。如果这两个字符串本身是相等的,那它们也是相似的。例如,"tars"和"rats"是相似的(交换0与2的位置);"rats"和"arts"也是相似的,但是"star"不与"tars","rats",或&quo......
  • 2023.5.23
     1#include<iostream>2#include<iomanip>3usingnamespacestd;4floatPI=3.14159f;5classShape6{7public:8virtualfloatgetArea()=0;9};10classCircle:publicShape11{12public:13floatr;14float......