zoukankan      html  css  js  c++  java
  • 什么是RESTful API

    http://www.ruanyifeng.com/blog/2014/05/restful_api.html

    REST,即Representational State Transfer的缩写。直接翻译的意思是"表现层状态转化"。
    它是一种互联网应用程序的API设计理念:URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。

    产生背景

    近年来移动互联网的发展,前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......),因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信,于是RESTful诞生了,它可以通过一套统一的接口为 Web,iOS和Android提供服务。


     
    图片.png

    URI

    即统一资源标识符,服务器上每一种资源,比如文档、图像、视频片段、程序 都由一个通用资源标识符(Uniform Resource Identifier, 简称"URI")进行定位。

    HTTP动词

    常用的HTTP动词有下面五个

    • GET(SELECT):从服务器取出资源(一项或多项)。
    • POST(CREATE):在服务器新建一个资源。
    • PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
    • PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
    • DELETE(DELETE):从服务器删除资源。

    RESTful架构

    服务器上每一种资源,比如一个文件,一张图片,一部电影,都有对应的url地址,如果我们的客户端需要对服务器上的这个资源进行操作,就需要通过http协议执行相应的动作来操作它,比如进行获取,更新,删除。

    简单来说就是url地址中只包含名词表示资源,使用http动词表示动作进行操作资源
    举个例子:左边是错误的设计,而右边是正确的

    GET /blog/getArticles --> GET /blog/Articles  获取所有文章
    GET /blog/addArticles --> POST /blog/Articles  添加一篇文章
    GET /blog/editArticles --> PUT /blog/Articles  修改一篇文章 
    GET /rest/api/deleteArticles?id=1 --> DELETE /blog/Articles/1  删除一篇文章


    =========================

    示例:一个状态数据操作接口

    传统模式:

    api/getstate.aspx- 获取状态信息
    api/updatestate.aspx - 更新状态信息
    api/deletestate.aspx - 删除该状态的数据

    RESTful模式:

    api/state 只需要这一个接口

    GET 方式请求 api/state- 获取该状态的数据
    POST 方式请求 api/state- 更新该状态的数据
    DELETE 方式请求 api/state- 删除该状态的数据

  • 相关阅读:
    [BZOJ2296] [POJ Challenge] 随机种子
    [BZOJ1026] [SCOI2009] windy数 (数位dp)
    [BZOJ1306] [CQOI2009] match循环赛 (搜索)
    [BZOJ2654] tree (kruskal & 二分答案)
    [BZOJ3506] [Cqoi2014] 排序机械臂 (splay)
    [BZOJ1552] [Cerc2007] robotic sort (splay)
    [BZOJ3110] [Zjoi2013] K大数查询 (树套树)
    BZOJ3611: [Heoi2014]大工程
    BZOJ2286: [Sdoi2011]消耗战
    BZOJ3876: [Ahoi2014]支线剧情
  • 原文地址:https://www.cnblogs.com/YuyuanNo1/p/11409149.html
Copyright © 2011-2022 走看看