https://blog.csdn.net/laotianv5/article/details/81634997

  • 什么是Restful API

Restful API 从字面就可以知道,他是rest式的接口,所以就要先了解什么是rest

rest 不是一个技术,也不是一个协议

rest 指的是一组架构约束条件和原则,提供了一个新的架构设计思路,满足这些约束条件和原则的应用程序或设计就是 RESTful

在REST规则中,有两个基础概念:对象、行为

对象就是我们要操作的对象,例如添加用户的操作,那么对象就是user

行为有4种常用的:查看、创建、编辑、删除

rest的提出者很巧妙的利用http现有方法来对应这4种行为:

GET - 查看
POST - 创建
PUT - 编辑
DELETE - 删除

为什么用Restful API

例如常用的MVC结构中,前后端的融合还是比较紧密的,用户访问一个网址,例如 http://test.com/a.php,请求先发送到动态php处理,php中处理逻辑,然后使用页面模板来输出显示给用户

以前用户主要就是用浏览器访问,这样的结构没什么问题,但现在移动客户端越来越重要,显然不能使用这个结构,需要为移动客户端开发接口

RESTful API 就可以通过一套统一的接口为所有客户端提供web服务,实现前后端分离

再比如在一个大型系统中,可能是多种开发语言一起工作,使用 RESTful API 就可以完全不关心开发语言,以标准的接口来协同工作

Restful API是怎么定义的?

下面通过几个示例了解下Restful API的定义方式:

(1)查看所有任务

GET http://test.com/tasks

(2)新建一个任务

POST http://test.com/tasks

Data: title = Foobar

(3)根据ID查看一个任务

GET http://test.com/tasks/123

(4)更新任务

PUT http://test.com/tasks/123

Data: title = New

(5)删除任务

DELETE http://test.com/tasks/123

可以看到Restful API的风格非常简洁、统一、明确

例如查看操作,用普通方式的话,定义方式是任意的,如:

http://test.com/listall_tasks

‘listall_tasks’ 就是随意定义的,通过这个名字才可以看出是查看全部的意思,如果开发人员用了一个没有明确意义的名字,那就需要看文档或者代码才能知道含义了

而Restful API 通过 GET 方法就知道是查看操作,通过tasks就知道查看的对象是什么

什么是restful api的更多相关文章

  1. (转载) RESTful API 设计指南

    作者: 阮一峰 日期: 2014年5月22日 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备......). 因此,必须有一种统一的机制 ...

  2. Node.js实现RESTful api,express or koa?

    文章导读: 一.what's RESTful API 二.Express RESTful API 三.KOA RESTful API 四.express还是koa? 五.参考资料 一.what's R ...

  3. Restful Api 最佳实践

    Web APIs has become an very important topic in the last year. We at M-Way Solutions are working ever ...

  4. 基于轻量型Web服务器Raspkate的RESTful API的实现

    在上一篇文章中,我们已经了解了Raspkate这一轻量型Web服务器,今天,我们再一起了解下如何基于Raspkate实现简单的RESTful API. 模块 首先让我们了解一下"模块&quo ...

  5. RESTful Api 身份认证安全性设计

    REST是一种软件架构风格.RESTful Api 是基于 HTTP 协议的 Api,是无状态传输.它的核心是将所有的 Api 都理解为一个网络资源.将所有的客户端和服务器的状态转移(动作)封装到 H ...

  6. 深入理解 RESTful Api 架构

    转自https://mengkang.net/620.html 一些常见的误解 不要以为 RESTful Api  就是设计得像便于 SEO 的伪静态,例如一个 Api 的 URL 类似于 http: ...

  7. 使用Flask设计带认证token的RESTful API接口[翻译]

    上一篇文章, 使用python的Flask实现一个RESTful API服务器端  简单地演示了Flask实的现的api服务器,里面提到了因为无状态的原则,没有session cookies,如果访问 ...

  8. RESTful API 设计指南

    转自:http://www.ruanyifeng.com/blog/2014/05/restful_api.html 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机. ...

  9. RESTful API URI 设计的一些总结

    非常赞的四篇文章: Resource Naming Best Practices for Designing a Pragmatic RESTful API 撰写合格的 REST API JSON 风 ...

  10. Restful API

    http://www.ruanyifeng.com/blog/2011/09/restful 参考资料:-------以网络为基础的应用软件的架构设计. Restful API的设计与实践 字数218 ...

随机推荐

  1. yarn 常用命令(基于vue框架)

    初始化项目 yarn add init 安装vue yarn add vue 安装webpack,webpack-dev-server(是一个小型的Node.js Express服务器) yarn a ...

  2. hdoj:2034

    #include <iostream> #include <vector> #include<algorithm> //包含sort函数 using namespa ...

  3. struts建立工程helloworld

    Java web环境:Tomcat + Jdk +eclipse java EE 创建一个能运行的java web工程,记得勾选上web.xml 下载struts库,目前最新2.5-2.16 all. ...

  4. Android异步处理系列文章四篇之四 AsyncTask的实现原理

    Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Loope ...

  5. [IR] Huffman Coding

    为了保证:Block中,所有的叶子在所有的中间结点的前面.Static: Huffman coding Dynamic: Adaptive Huffman 一些概念 压缩指标 • Compress a ...

  6. [Laravel] 06 - Project: from Usercase to View

    故事背景 一.项目预览 From: https://www.imooc.com/video/12518 二.知识点 通过项目复习之前的重难点,在此列出并解决. /* implement */ 项目开始 ...

  7. Kafka 1.1新功能:数据的路径间迁移

    经常有小伙伴有这样的疑问:为什么线上Kafka机器各个磁盘间的占用不均匀,经常出现“一边倒”的情形? 这是因为Kafka只保证分区数量在各个磁盘上均匀分布,但它无法知晓每个分区实际占用空间,故很有可能 ...

  8. Caused by: java.lang.ClassNotFoundException: javax.xml.bind.Validation

    Caused by: java.lang.ClassNotFoundException: javax.xml.bind.Validation JAXB API是java EE 的API,因此在java ...

  9. VBA字符串处理大全

    https://blog.csdn.net/goldengod/article/details/73558537  VBA字符串处理大全-from EH http://club.excelhome.n ...

  10. angular 4 和django 1.11.1 前后端交互 总结

    首先 angular4 和django 1.11.1交互 有跨域问题 所以先关闭cors 和csrf验证 一.解决跨域问题 cors github django-cors-headers 1)安装co ...