API生命周期第三阶段:API实施模式,以及结合swagger和项目现状的最佳模式

时间:2022-11-30 22:19:02

这篇博客,主要是宏观介绍一下开发模式,尤其是针对于目前公司前后分离的项目!

一、API实施模式概述

API实施模式,主要是三个,其中API-First又是作为一种指导思想的一种,所以,简单来说事实实施模式就只有两种。

(允许我直接使用我的PPT哈)

API生命周期第三阶段:API实施模式,以及结合swagger和项目现状的最佳模式

然后,简单说一下区别:

API生命周期第三阶段:API实施模式,以及结合swagger和项目现状的最佳模式

对比这两种模式的区别,就会很明白我前面有篇博客中提到的公司目前前后分离所面临的一系列困惑。

那么,事实上,在最初有产生过,完全采用设计优先的模式去做,但后来我综合了一下,考虑到一些相关的成本,决定两种模式混合使用,以提升开发效率!

二、代码优先+设计优先

先简单说一下,为什么我们不放弃代码优先的这种模式,这个和之前我介绍到的一个工具Jeddict有关,因为应用这个工具,我们可以在几分钟内,从无到有,部署一个可直接使用的单表的API服务。而在我们的系统里面,有一个服务,刚好就是单表操作的API,所以。。。。。不过,这里得声明一下,这个Jeddict工具,所生成的代码应用的是一系列的Java EE技术栈,其Rest服务属于JAX—RS(Jersey)

API生命周期第三阶段:API实施模式,以及结合swagger和项目现状的最佳模式

那么,对于不能快速构建的服务,我们还需要辅助以设计优先的模式:

API生命周期第三阶段:API实施模式,以及结合swagger和项目现状的最佳模式

三、开发态流程

第一种,很简单,就是先确定好API,然后前后端都根据API做实现就OK。 这一种其主要是借助于swagger的API可视化mock service Test

第二种,跟第一种很类似,但不一样的是直接给前端提供了一个可使用的API服务,简单的示意图为:

API生命周期第三阶段:API实施模式,以及结合swagger和项目现状的最佳模式

备注:这里的API网关只是一种形式,可以直接生成工程,注册到服务中心也是可以的。这一点后面接着讨论