DevOps - 理解RESTful

RESTful

REST(Representational State Transfer,表现层状态转化),可以简单理解为"资源在网络中以某种表现形式进行状态转移"
Resource:资源,即数据(前面说过网络的核心)。比如 newsfeed,friends等;
Representational:某种表现形式,比如用JSON,XML,JPEG等;
State Transfer:状态变化。通过HTTP动词实现。

  1. REST描述的是在网络中client和server的一种交互形式(RESTful API, REST风格的网络接口)
  2. Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词
  3. 用HTTP协议里的动词来实现资源的添加,修改,删除等操作。即通过HTTP动词来实现资源的状态扭转:
        GET     用来获取资源
        POST    用来新建资源(也可以用于更新资源)
        PUT     用来更新资源
        DELETE  用来删除资源
  1. Server和Client之间传递某资源的一个表现形式,比如用JSON,XML传输文本,或者用JPG,WebP传输图片等。
  2. 用 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 后,开发者可以使用最少的实现逻辑来理解远程服务并与之交互。

测试工具

  1. Firefox plugins
    RESTED --- https://addons.mozilla.org/zh-CN/firefox/addon/rested/

  2. Chrome plugin
    Postman --- https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=zh-CN

  3. Postman
    https://www.getpostman.com/

参考信息

posted @ 2017-09-14 22:01  Anliven  阅读(317)  评论(0编辑  收藏  举报