首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/613515

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

我有接口文档, 你有酒吗?

接口文档生成流程 介绍 目前我们QA在测试过程中, 存在着接口文档不全或有出入(包括更新)的情况。 这时候我们一般会阅读开发编写的代码或者直截了当去问开发。 这2种方法的弊端都很明显, 即增加了沟通和时间成本。 自己看代码且不论QA对于开发语言的熟悉程度, 有的代码QA并不可见。独自研究费时费力, 去找开发询问的时候,得问到对应的人, 他们还需要花费时间精力去搜寻。 ==现在, 这些问题都将迎刃而解==。 原理介绍 通过swagger插件(如jar包)解析编写了接口注解的java代码, 而后通过生成的swagger.json文件解析出接口信息并导入接口文档管理工具(yapi)。 第一步: 编写注解 swagger是一个较为流行的接口文档管理工具, 但是这里我们不打算将他作为我们的大方向。其实接口文档的核心基本都已固定, 如path(route), 参数, 响应, 请求方式等。swagger在这点做得相当不错, 使用json-schema约束json字段的属性(required, example, type等)。 简而言之, 第一步就是通过注解对java中各个字段的参数做了约束, 通过插...

关于Java健壮性的一些思考与实践!

程序健壮性非常重要,要怎么玩怎么写才能让程序更加鲁棒呢?我又这么几点小建议。 一、进行统一的业务处理响应 根据蚂蚁金服开放平台的标准返回,一个 response 至少应当有4个返回值。 1、isSuccess:调用是否成功 2、data:返回的响应数据 3、errorCode:错误码 4、errorMsg:错误信息 这就要求我们的接口要有标准的统一的 response ,那怎么实现呢? 1、Spring 切面, JDK 动态代理,Cglib 动态代理等用代理类实现 2、匿名子类,使用一个公共的 Executor 来负责处理所有的请求。 上面两种模式都可以实现标准的 response 的封装,那么具体要封装哪些东西呢?其实最主要的就是统一的 try catch,防止出现任何的 500 错误给到调用方。 ------ 为什么要在最外层去完成呢?------ 因为 500 错误对于调用方来说是致命而且是毫无价值的,无论调用方是前端还是其他的业务系统 ------ 设定统一的错误码 ------ 例如: 参数错误:PARAMETER_ERROR 数据库错误: DATABASE_ERROR 外部...

相关文章

发表评论

资源下载

更多资源
Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册