zoukankan      html  css  js  c++  java
  • 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。
  • 相关阅读:
    BZOJ3193: [JLOI2013]地形生成
    ARG102E:Stop. Otherwise...
    51NOD1847:奇怪的数学题
    大型大常数多项式模板(已卡常...)
    CF932G Palindrome Partition
    51nod1538:一道难题(常系数线性递推/Cayley-Hamilton定理)
    HTML——meta标签
    HTTP 格式
    Node.js——Async
    设计模式——外观模式
  • 原文地址:https://www.cnblogs.com/glfcdio/p/8252654.html
Copyright © 2011-2022 走看看