微服务云架构-Swagger2构建强大的RESTful API文档
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容。如下所示,我们通过@ApiOp
千家信息网最后更新 2025年12月03日微服务云架构-Swagger2构建强大的RESTful API文档
在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容。如下所示,我们通过@ApiOperation注解来给API增加说明、通过@ApiImplicitParams、@ApiImplicitParam注解来给参数增加说明。
@RestController@RequestMapping(value="/users") // 通过这里配置使下面的映射都在/users下,可去除public class UserController { static Map users = Collections.synchronizedMap(new HashMap()); @ApiOperation(value="获取用户列表", notes="") @RequestMapping(value={""}, method=RequestMethod.GET) public List getUserList() { List r = new ArrayList(users.values()); return r; } @ApiOperation(value="创建用户", notes="根据User对象创建用户") @ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataType = "User") @RequestMapping(value="", method=RequestMethod.POST) public String postUser(@RequestBody User user) { users.put(user.getId(), user); return "success"; } @ApiOperation(value="获取用户详细信息", notes="根据url的id来获取用户详细信息") @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Long") @RequestMapping(value="/{id}", method=RequestMethod.GET) public User getUser(@PathVariable Long id) { return users.get(id); } @ApiOperation(value="更新用户详细信息", notes="根据url的id来指定更新对象,并根据传过来的user信息来更新用户详细信息") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Long"), @ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataType = "User") }) @RequestMapping(value="/{id}", method=RequestMethod.PUT) public String putUser(@PathVariable Long id, @RequestBody User user) { User u = users.get(id); u.setName(user.getName()); u.setAge(user.getAge()); users.put(id, u); return "success"; } @ApiOperation(value="删除用户", notes="根据url的id来指定删除对象") @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Long") @RequestMapping(value="/{id}", method=RequestMethod.DELETE) public String deleteUser(@PathVariable Long id) { users.remove(id); return "success"; } } 完成上述代码添加上,启动Spring Boot程序,访问:http://localhost:8080/swagger-ui.html
。就能看到前文所展示的RESTful API的页面。我们可以再点开具体的API请求,以POST类型的/users请求为例,可找到上述代码中我们配置的Notes信息以及参数user的描述信息,如下图所示。
API文档访问与调试
在上图请求的页面中,我们看到user的Value是个输入框?是的,Swagger除了查看接口功能外,还提供了调试测试功能,我们可以点击上图中右侧的Model Schema(黄色区域:它指明了User的数据结构),此时Value中就有了user对象的模板,我们只需要稍适修改,点击下方"Try it out!"按钮,即可完成了一次请求调用!
此时,你也可以通过几个GET请求来验证之前的POST请求是否正确。
相比为这些接口编写文档的工作,我们增加的配置内容是非常少而且精简的,对于原有代码的侵入也在忍受范围之内。因此,在构建RESTful API的同时,加入swagger来对API文档进行管理,是个不错的选择。
公司最近升级了电子商务系统,将所有电子商务功能全部转为分布式微服务模式
了解springcloud架构可以加求求:三五三六二四七二五九
源码来源
用户
信息
文档
对象
配置
代码
内容
功能
更新
上图
参数
商务
实体
接口
来源
注解
电子
电子商务
页面
架构
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
幼儿园服务器要来到
数据库相容性
网络安全有问题怎么解决
输入网络安全秘钥
我的世界服务器房间号码是什么
qq群关系可视化数据库
流溪河服务器怎么样
江西戴尔服务器虚拟化系统云空间
分布式数据库要分库分表吗
scott怎么查看数据库
从疫情看网络安全
成都明智网络技术
机架式服务器供应厂家
腾讯云服务器技术服务电话
数据库中定义数据的命令智慧树
深圳服务器专卖
ccf数据库专委是什么
plc软件开发执行标准
写字的网络安全手抄报
软件开发过程的管理
数据库系统工程师中级证书有效期
电脑上的网络安全密匙
分布式数据库要分库分表吗
深圳蓝思网络技术 威胁员工
湖南服务器防火墙哪家好
镇江网络安全主题网课
网络安全的次新股
商品管理数据库英语
山西时间同步数显钟服务器
松江区信息化软件开发销售价格