zoukankan      html  css  js  c++  java
  • RESTful API的理解

    技术交流的时候遇到了这样的一个问题,被问及开发中用到的是不是Restful API,我说的是,我们现在用到的不属于完全是Restful API。因为我了解到的Restful API,是 通过具体的URI定位符,找到对应的资源,然后以固定的格式返回数据,这样的才是Restful API。然而在我模糊的表达中,对方听出来的是,我现在开发的API依然属于Restful API。那么什么才是真正的Restful API呢,今天我想好好总结一下。(之前学习东西总是,用到了就去搜索,然后很少总结,类似这种不影响我开发的概念性东西,只是大致搜索后,有了了解,不求甚解的。现在看来还是有必要弄的更清楚的,因为在讨论的时候,容易出现偏差,描述不清楚,对于学习其他知识的时候也是不利的。) 
    此处说明一下,我看到的是如何使用Retrofit请求非Restful API,这个让我理解了什么不是RESTful API,结果是不对的。不过不要紧,这篇博客的重点不是这个。

    什么是REST?

    可以总结为一句话:REST是所有Web应用都应该遵守的架构设计指导原则。 
    Representational State Transfer,翻译是”表现层状态转化”。 
    面向资源是REST最明显的特征,对于同一个资源的一组不同的操作。资源是服务器上一个可命名的抽象概念,资源是以名词为核心来组织的,首先关注的是名词。REST要求,必须通过统一的接口来对资源执行各种操作。对于每个资源只能执行一组有限的操作。(7个HTTP方法:GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS)

    什么是RESTful API?

    符合REST架构设计的API。

    总结

    符合REST设计标准的API,即RESTful API。REST架构设计,遵循的各项标准和准则,就是HTTP协议的表现,换句话说,HTTP协议就是属于REST架构的设计模式。比如,无状态,请求-响应。。。

    参考: 
    理解本身的REST架构风格 
    http://www.infoq.com/cn/articles/understanding-restful-style/

    理解RESTful架构 
    http://www.ruanyifeng.com/blog/2011/09/restful.html

    Restful API设计指南 
    http://www.ruanyifeng.com/blog/2014/05/restful_api.html

  • 相关阅读:
    在eclipse 中添加 Tomcat
    eclipse启动报错:code13
    基础_cup给出的内存地址
    巫师3_战斗_水中水鬼
    git checkout
    git学习
    Linux软件包管理之yum在线管理
    Vagrant入门1
    mvn java项目README.md文件范例
    深入理解yum工作原理
  • 原文地址:https://www.cnblogs.com/weiwei-python/p/9788425.html
Copyright © 2011-2022 走看看