Restful API的流行,很大程度上被当前的移动互联网所影响,在10年前,那个时候的网络应用程序,在跨系统的时候,很多时候采用的是WebService来实现,在当下,Restful的设计已经比交深入人心!特别是你的系统需要对外提供数据或者一些服务的时候,这里的对外,可以是 手机端(比如APP),也可以是PAD,桌面程序,也可以是网络上的一台需要服务的服务器等等 ,这个时候就可以采用Restful 的设计
通常Resutful API 一般走HTTP 协议,为了更安全,我们会加上SSL,也就是 HTTPS ,比如
写道
https://www.resutful.com/api/names or http://www.resutful.com/api/names
目前我们的写法是讲API作为我们系统功能的一部分,这种做法没有和 系统剥离,如果条件允许的话,尽量做到API 的域名独立
写道
http://api.restful.com/v1
这里 有一个版本的参数,其实在设计API的实现,很多时候需要兼容底下的版本,所以需要标明版本号
写道
http://api.restful.com/v1/lings
一个对外的地址通常代表一种资源,一般用名词复数。当其他人调用我们的API的时候,我们内部会有相应的动作,这些动作,主要是HTTP协议支持的一些动作 ,主要有下面几个
- GET(SELECT):从服务器取出资源(一项或多项)。
- POST(CREATE):在服务器新建一个资源。
- PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
- PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
- DELETE(DELETE):从服务器删除资源。
一般在动作后面需要参数,比如ID这样的:
写道
http://api.restful.com/v1/lings/delete?id=1
Server动作执行完以后,我们需要返回结果,当然了,HTTP协议的状态码表示 请求的结果,这个还是要熟悉的,这个浏览器一般都能够监控渠道这个值 一些常用的状态码:
- 200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。
- 201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。
- 202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务)
- 204 NO CONTENT - [DELETE]:用户删除数据成功。
- 400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。
- 401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。
- 403 Forbidden - [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。
- 404 NOT FOUND - [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。
- 406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。
- 410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。
- 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。
- 500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功
Restful的API,一般流行返回JSON对象,客户端也比交方便解析,尽量不用返回XML,这样比交麻烦 ,除非不得已为之!
相关推荐
RESTful API设计规范.pdf
RESTful API设计规范
如果有一样东西获得广泛认可的话,那就是 RESTful 原则。Roy Felding 在他论文 network based software architectures 的 第五章 中首次介绍了这些原则。 这些REST的关键原则与将你的 API 分割成逻辑资源紧密相关。...
这是一个基于Flask的MVC分层RESTful API设计,使用Python、JavaScript、Vue、HTML和CSS语言...该项目是一个采用MVC分层、RESTful API和JSON API设计模式的Flask框架,适合用于个人学习和实践Python和Vue的开发技术。
RESTful API后台系统架构设计(Java)
RESTful API设计基础知识
REST它是一种使用URL来定位资源,使用HTTP请求描述操作的Web服务规范,本资源包含RESTful简介、设计原则、通用说明、规范细则、接口管理说明。
RESTful图书管理系统架构设计-restful api 设计最佳实践WORD范本.docx
二、RESTful API应遵循的原则 1、协议(Protocol) 2、域名(ROOT URL) 3、版本(Versioning) 4、路径(Endpoints) 5、HTTP动词(HTTP Verbs) 6、过滤信息(Filtering) 7、状态码(Status Codes) 8、错误处理...
理解RESTful Api设计.doc
restful api设计
RESTful api设计
网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。...RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。
PhpBoot是专为开发RESTful API 设计的PHP框架。它设计的初衷是尽可能简化API开发
基于ThinkPHP 5的RESTful API源码:包含214个文件,使用PHP技术开发,实现了一个基于TP5框架的RESTful风格接口,支持简单的OAuth2.0授权,适合用于构建企业级API服务。
网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。 因此,必须有一种统一的机制...这导致API构架的流行,甚至出现"API First"的设计思想。
目前互联网上充斥着大量的关于RESTfulAPI(为了方便,以后API和RESTfulAPI一个意思)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API格式如何?你的API是否应该加入版本信息?目前互联网上充斥着...
api 设计规范文档。基于RestFul。