Spring mvc之Restful API

Spring mvc之Restful API

这是一个路径,http://127.0.0.1:8080/OperationAPI/v0.1/pins/3是API的具体网址。在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。http://127.0.0.1:8080表示的本地的域名,OperationAPI表示的是项目名称,v0.1表示的api的版本号,pins表示这个api提供数据库中pins表的具体信息。3表示pins表中对应的某个列的id,这里是个pin_id。

1,API与用户的通信协议,总是使用HTTPs协议。

2,应该尽量将API部署在专用域名之下,例如OperationAPI这个api就是部署在本地域名的下面。

3,应该将API的版本号放入URL,比如v0.1

4,对于资源的具体操作类型,由HTTP动词表示。

常用的HTTP动词有下面四个(括号里是对应的SQL命令)。

          GET(SELECT):从服务器取出资源。

          POST(CREATE):在服务器新建一个资源。

          PUT(UPDATE):在服务器更新资源。

          DELETE(DELETE):从服务器删除资源。

下面是一些例子 :

  • POST /pin:新建一个pin。
  • GET /pins/3:获取指定的pin_id为3的信息。
  • PUT /pins/3:更新指定的pin_id为3的信息。
  • DELETE /pins/3:删除指定的pin_id为3的信息。
    分布在各处的资源由URL确定,REST 是一种客户端的应用通过URL来获取资源的表示方式。获得这些表示致使这些应用程序转变了其状态。随着不断获取资源的表示方式,客户端应用不断地在转变其状态,这就是所谓表述性状态转移(Representational State Transfer)。通俗点说就是你一个网页要获取资源,比如获取某个数据库的数据,就得调用RestAPI来获取,这个API的动作是GET,你的状态就变成了GET这个状态,你要删除数据库中某个资源,就通过调用DELETE这个RestAPI来实现删除操作,此时你的状态就变成了DELETE。
原文地址:https://www.cnblogs.com/glfcdio/p/8252654.html