RESTful
RESTful
REST(Representational State Transfer,表现层状态转化),可以简单理解为"资源在网络中以某种表现形式进行状态转移"
Resource:资源,即数据(前面说过网络的核心)。比如 newsfeed,friends等;
Representational:某种表现形式,比如用JSON,XML,JPEG等;
State Transfer:状态变化。通过HTTP动词实现。
- REST描述的是在网络中client和server的一种交互形式(RESTful API, REST风格的网络接口)
- Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词
- 用HTTP协议里的动词来实现资源的添加,修改,删除等操作。即通过HTTP动词来实现资源的状态扭转:
GET 用来获取资源
POST 用来新建资源(也可以用于更新资源)
PUT 用来更新资源
DELETE 用来删除资源
- Server和Client之间传递某资源的一个表现形式,比如用JSON,XML传输文本,或者用JPG,WebP传输图片等。
- 用 HTTP Status Code传递Server的状态信息。
通过Swagger实现RESTful
Swagger是一个简单、功能强大、非常流行的API表达工具。
基于Swagger可以很容易生成API,同时也可以得到交互式文档、自动生成代码的SDK,以及API的发现方式等。
Swagger是基于OpenAPI的,OpenAPI支持YAML和JSON格式描述API。
可以使用Swagger Editor来编写YAML文档,提供了语法高亮、自动完成、及时预览等功能。
基于Swagger Editor设计API,可以在本地安装, 也可以直接在线编辑API
OpenAPI
OpenAPI试图通过定义一种用来描述API格式或API定义的语言来规范RESTful服务的开发过程。
OpenAPI 规范(OpenAPI Specification,OAS)始于Swagger规范,定义了一个标准的、语言无关的 RESTful API 接口规范,
OpenAPI可以同时允许开发人员和操作系统查看并理解某个服务的功能,而无需访问源代码,文档或网络流量检查(既方便人类学习和阅读,也方便机器阅读)。
正确定义 OAS 后,开发者可以使用最少的实现逻辑来理解远程服务并与之交互。
- https://swagger.io/solutions/getting-started-with-oas/
- https://swagger.io/resources/open-api/
- https://github.com/OAI/OpenAPI-Specification/
测试工具
-
Firefox plugins
RESTED --- https://addons.mozilla.org/zh-CN/firefox/addon/rested/ -
Chrome plugin
Postman --- https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=zh-CN -
Postman
https://www.getpostman.com/
参考信息
行动是绝望的解药!
欢迎转载和引用,但请在明显处保留原文链接和原作者信息!
本博客内容多为个人工作与学习的记录,少数内容来自于网络并略有修改,已尽力标明原文链接和转载说明。如有冒犯,即刻删除!
以所舍,求所得,有所获,方所成。