用户登录
用户注册

分享至

REST API 设计与开发实践

  • 作者: 黄某某007
  • 来源: 51数据库
  • 2022-09-21
导读 在本文中,我的目标是向大家尽可能详细的解释REST API,包括理论和开发部分。以便大家能清楚的了解何时用以及如何使用它,包括它的本质是什么。无论是自己开发API还是使用第三方API,都会更加顺利。

像Alibaba,Baidu,Tecent,Toutiao,Facebook,Google,Amazon等公司都拥有开放的RESTful API或开放,我们可以申请访问,获取甚至写入数据。

所有的事情都要问为什么。为什么需要REST API ?REST为何如此普及?

当然,传递信息有很多种方式。如Socket,REST,WebService,HTTP等。

REST与HTTP有什么区别?

REST很灵活,与HTTP协议兼容。它是一个架构风格,并非标准,用它来提供各种服务,可以用各种编程语言来实现。

在本篇文章中,我们的目标是一起清晰的了解 REST,知道何时用以及如何使用它,以及REST的本质。

我们将通过一些基础知识和定义,包括REST API的最佳实践,可以让各位能够用任何开发语言来实现REST API。

建议您有HTTP协议基础,或者了解一部分,可以充分消化这部分内容。

REST的本质

REST - Representational State Transfer是Roy Field博士创立的一种架构风格,他在UC Irvine的论文中描述了架构风格与基于Web的软件架构设计,并使用HTTP 1.1开发。

我们使用REST做为互联网上不同计算机系统间通信的一种方式。

REST绑定HTTP

根据REST定义,并非如此。尽管人们可以使用其它一些REST应用程序协议,但在涉及REST实现时,HTTP仍然是应用程序协议中无可争辩的主流。

RESTful API的含义

RESTful有下列一些特点:

1、客户端/服务器架构:完整的服务由前端“客户端”和整个系统的后端“服务器”组成。

2、无状态:服务器在不同请求中间不保存任何状态。会话的状态完全由客户端负责。根据REST的定义:所有REST交互都是无状态的,也就是说,每个请求都包含连接器理解请求所需的全部信息,而不受任何先前可能发生的请求影响。

3、可缓存:客户端应该能够将响应存储在缓存中,以便获得更好的性能。

RESTful API遵循以上这些规则,并使用HTTP方法来操作资源集的服务。

为什么需要用 Restful API

因为它们提供了一种简单、灵活和可扩展的方式来开发Web通信的分布式应用程序。

我们可能有很多REST API。如果业务足够广,需要开放的服务也会变得复杂。

开发者需要一些实用主义才能做出好的应用和服务。

理论对于认知理解很重要,但理论的实施才是区分优劣应用差异的检验标准。为此,我们要聪明的工作,但一定要记得,最终用户才是第一优先级,是最高价值。

我们知道了重点,让API做得强大易,让用户的工作也变得更容易 。

抽象与具体业务 API

在开发软件时,我们会经常使用面向对象的抽象和多态来开发应用程序。这样可以最大化重用代码。

那么,我们是不是也应该这样开发REST API?

到开发API的情况就不同了,对于REST API,具体比抽象更好。也就是完成实际的功能更好。我们来看一些实例:

有两个api版本:

软件
前端设计
程序设计
Java相关