关于Restful API 设计的Java SpringMVC的介绍主要分为两部分,先介绍Restful API的基础知识,然后介绍如何在Java web项目中的Spring MVC中使用。
一:关于Restful API相关知识
Restful API 对于HTTP动作的约定
Restful API是目前比较成熟的一套互联网应用程序的API设计理论,它遵循统一接口原则,包含了一组预定义的操作,比如,常用的HTTP动词包括以下五个:
GET:查询操作(可以重复操作)对应MySQL的SELECT语句;
POST:添加操作,对应MySQL的CREATE语句;
PUT:更新操作(客户端提供改变后的完整资源),对应MySQL的UPDATE语句;
PATCH:更新操作(客户端提供改变的属性),对应MySQL的UPDATE语句;
DELETE:删除操作,对应MySQL的DELETE语句。
Restful API对接口的域名规定(两种方法)
方法一:对于部署的API应该在专用的域名之下,比如:https://api.example.com(推荐)
方法二:如果确定API很简单,不会进一步扩展,可以考虑放在主域名下:https://example.om/api/
Restful API 对于版本号的约定(两种方法)
方法一:将API的版本号放入URL中:https://api.example.com/v1/
方法二:将版本号放在HTTP头信息中,但不如放入URL方便和直观。Github采用此法。
Restful API 对于URL的约定
在Restful 架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表名相对应。一般来说,数据库中的表都是同种记录的“集合”(collection),所以API中的名词也可以使用复数。
URL的设计规则如下:
/模块/资源/{ 标识}/