REST API规范

REST API规范是什么

 

REST 是Roy Fielding博士在2000年他的博士论文中提出的一种软件架构模式的风格。是一种设计风格,不是标准,没有谁强制性要求,只是提供了一组设计原则和约束条件。就像舞蹈中的嘻哈风,民族风一样。还有其他风格是 SOAP和 RPC等 。

    SOAP是一种数据数据交换协议规范 ,也是一种风格。

        SOAP的特点是:轻量的,简单的,基于XML的。

        SOAP的优点是 :易用,灵活,跨语言,跨平台。

        RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。

参考 https://www.cnblogs.com/guanghe/p/9121754.html

REST可以看着是http协议的一种直接应用,默认基于json作为传输格式,使用简单,学习成本低效率高,~~但是安全性较低~~,而SOAP可以看着是一个重量级的协议,基于xmlSOAP在安全方面是通过使用XML-SecurityXML-Signature两个规范组成了WS-Security来实现安全控制的,当前已经得到了各个厂商的支持,.net ,php ,java 都已经对其有了很好的支持 。这是REST薄弱的地方。

 

REST就是一种设计API的模式。最常用的数据格式是JSON。

 

为什么要用 REST API规范

1)降低开发的复杂性,更简洁,更有层次。

2)提高系统法人可伸缩性,更易于实现缓存等机制

 

如何设计 REST API 规范 

  1. 不用大写;
  2. 用中杠-不用下杠_
  3. 参数列表要encode;
  4. URI中的名词表示资源集合,使用复数形式。

资源集合 vs 单个资源

URI表示资源的两种方式:资源集合(查询所有数据)、单个资源(附带查询条件)。

避免层级过深的URI 

‘/’在url中表达层级,用于按实体关联关系进行对象导航,一般根据id导航。

过深的导航容易导致url膨胀,不易维护,如 GET /zoos/1/areas/3/animals/4,尽量使用查询参数代替路径中的实体导航,如GET /animals?zoo=1&area=3

本文内容:

SOA, SOAP, REST, RPC 风格 特性 发展史 应用场景对比

 

待更新 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
REST(Representational State Transfer)是一种基于HTTP协议的软件架构风格,用于构建分布式系统和Web服务。REST API是一种基于REST风格的API,通过定义URL、HTTP方法和数据格式(如JSON或XML)等规范,实现了客户端和服务器之间的通信和数据交换。 REST API的特点包括: 1. 资源:REST API将每个数据实体都看作是一个资源,每个资源都有一个唯一的标识符(URI)。 2. HTTP方法:REST API使用HTTP方法(如GET、POST、PUT、DELETE等)来定义对资源的操作。 3. 数据格式:REST API通常使用JSON或XML等数据格式进行数据交换。 4. 无状态:REST API不保存客户端的状态,每个请求都是独立的。 5. 可缓存:REST API支持缓存机制,可以在客户端或者代理服务器上缓存响应结果,提高性能和响应速度。 6. 分层系统:REST API支持分层系统架构,可以将系统分成多个层次,每个层次都有自己的功能和责任。 REST API的优点包括: 1. 简单性:REST API使用HTTP协议和简单的数据格式,易于理解和使用。 2. 可伸缩性:REST API支持分布式系统和分层系统架构,可以实现高度的可伸缩性和可扩展性。 3. 可读性:REST API使用简单的URL和HTTP方法进行定义,易于阅读和理解。 4. 可测试性:REST API可以使用工具(如Postman等)进行测试和调试。 5. 可移植性:REST API可以在不同的编程语言和平台上进行使用和实现。 总之,REST API是一种简单、可伸缩、可读、可测试和可移植的API设计风格,适用于构建分布式系统和Web服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值