23.5 创建RESTful规范 WebAPI框架
虽然我们现在可以自己实现API了,也理解了RESTful API的设计原则,但让自己实现的API符合RESTful API规范,对很多刚打仗API的读者还是有一定难度的。本节按前文先容的API实现过程,以及RESTful API的规范,创建一个轻量级的WebAPI框架。本节的示例的重点在程序构造的设计,并没有实现全部的细节,目的是让读者能理解RESTful API的实现过程,如果程序在商业项目中运用,可以利用目前的一些开源WebAPI框架,如DingGO等的运用非常方便,功能也非常完好。

23.5.1 程序构造设计
程序的构造设计一定要按用户的利用需求实现,以23.4节中RESTful规范作为实际的开拓需求,在RESTful中最核心的规范便是,用户通过不同的要求方法,如get、post、put和delete等,要求同一个API的URL资源,可以定位到不同的做事器方法中处理资源。这就须要我们在设计API时,一定要有统一的访问入口作为中心调度器,把所有的URL要求都导入这个文件。再根据用户不同的要求方法判断,通过自定义路由规则的设置,利用路由调用对应掌握器中的方法来处理业务。自定义API框架运用构造如图23-11所示。
图23-11 自定义API框架运用构造
如图23-11所示,将程序分为展现层、做事层和数据访问这3层构造。当然,也可以将程序构造分为前端运用和后端做事两层,或者将每层构造再向下细分多层。分层架构设计是构建大型分布式系统的必要手段,由于可以使系统健壮和可扩展。每层的浸染解释如下。
Ø 展现层
我们可以在桌面、Web、平板、手机或物联设备中,通过App、Web运用程序(PHP、Java、Python等)、浏览器等远程访问统一的API接口,获取核心业务数据并展现给用户。
Ø 做事层
做事层也便是我们的WebAPI, 作为业务逻辑处理做事的核心,能够知足接口访问和接口之间交互的需求。
Ø 数据访问层
数据访问层供应了统一的数据操作模型,用于实现通用的数据访问操作。被模型返回的数据是中立的,也便是说,模型可以与数据格式无关。由于运用于模型的代码只需写一次就可以被多次重复利用,以是减少了代码的重复性。