Http协议

Http(HyperText Transfer Protocol)超文本传输协议是一种用于在网络中传输网页、图像、音视频等超媒体数据的客户端-服务器通信协议,构成了万维网数据交换的基础。

版本分支管理

基本目标是保证所有里程碑式的产物都能有对应的版本或Tag跟踪,并且作为结果归档是不可改变的;

Liquibase数据库版本管理

Liquibase是一个用于用于跟踪和管理应用数据库变化的开源工具,通过changelog日志的形式来记录数据库的变更,然后执行日志文件中的修改,将数据库更新或回滚到一致的状态。它的目标是提供一种与数据库类型无关的解决方案,主要优点包括:

  • 支持几乎所有主流的数据库,包括Oracle、Sql Server、DB2、MySql、Sybase、PostgreSQL等,这样在数据库的部署和升级环节可以支持多数据库;
  • 日志文件支持多种格式,如XML、YAML、JSON、SQL等;
  • 支持回滚功能,可以按时间、数量、标签回滚变化;

官网文档:https://docs.liquibase.com/home.html

smart-doc生成接口文档

smart-doc是一款支持Java Rest Api和Apache Dubbo Rpc接口文档生成的工具,官方文档已经介绍得很好,就不过多赘述了。相比swagger基于注解生成接口文档,它基于注释来生成,将代码无侵入这一目标进行的更加彻底,生成的接口文档画风也非常简单干净,而且支持JSR-303规范,可以解析Validation API相关的参数校验。这里记录一下在springboot应用中通过maven插件来生成smart接口文档的具体实践。

官网文档:https://smart-doc-group.github.io/#/zh-cn/?id=smart-doc

Bean Validation对象验证标准

Java’s standard for object validation最早在Java EE6中提出,作为Bean Validation 1.0(JSR-303)。它定义了一种在Java对象上执行声明性验证的方式,提供了一个运行时的数据验证框架。更多详细内容可以参考官网:https://beanvalidation.org

Bean Validationn可以让代码变得更简洁清晰,让开发人员在定义数据模型时不必考虑实现框架的限制。当然它不止提供了一些基本的constraint,也可以自定义验证规则,在实际的开发中,可以根据自己的需要组合或开发出更加合适的constraint。