当前位置: 首页 > 工具软件 > open-rest > 使用案例 >

openstack学习笔记 --- Rest API

燕琨
2023-12-01

1 什么是REST ?

表述性状态转移(Representational State Transfer)是一种软件架构风格。是设计风格而不是标准。REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表示方式。

REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准。

  • 资源是由URI来指定。
  • 对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法。
  • 通过操作资源的表现形式来操作资源。
  • 资源的表现形式则是XML或者HTML,取决于读者是机器还是人,是消费web服务的客户软件还是web浏览器。当然也可以是任何其他的格式。
2 什么是REST web 服务

RESTful Web 服务(也称为 RESTful Web API)是一个使用HTTP并遵循REST原则的Web服务。它从以下三个方面资源进行定义:

1 URI,比如:http://example.com/resources/。

2 Web服务接受与返回的互联网媒体类型,比如:JSON,XML ,YAML 等。

3  Web服务在该资源上所支持的一系列请求方法(比如:POST,GET,PUT或DELETE)。


3 如何实现该架构

 a 写一个接口interface 包括增删改查操作

b  写一个接口interface ,包括监听者操作 ,状态描述信息

c  实现监听者接口,实现一个监听函数,获取请求和请求参数

d 实现请求


4 REST vs SOAP 

 SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议

,包括4个部分:封装(内容,哪来,谁处理),编码规则 , RPC表示(调用和应答协定),绑定(底层协议交换);

SOAP背景:随着异种计算环境的不断增加,各种系统间的互操作性就愈显得必要,要求系统能够无缝地进行通信和共享数据。  SOAP本身就是面向RPC来设计的,开发人员十分容易接受。

REST对于资源型服务接口来说很合适,同时特别适合对于效率要求很高,但是对于安全要求不高的场景。而SOAP的成熟性可以给需要提供给多开发语言的,对于安全性要求较高的接口设计带来便利。所以我觉得纯粹说什么设计模式将会占据主导地位没有什么意义,关键还是看应用场景。

 类似资料: