rest api是什么_什么是REST API?

rest api是什么

在此博客中,我将讨论REST API,什么是Rest API,什么是REST API以及如何使用。 因此,希望您阅读此博客后能对REST API有所了解。

Roy Fielding定义了REST。 在2000年的博士学位论文中,他介绍了REST原理。

什么是REST?

REST代表代表性状态转移 。 我们也可以说REST是API的体系结构样式或设计模式。

  • REST确定API的外观。
  • 这是开发人员在创建其API时应遵循的一组规则。
  • 这些规则之一说,当您链接到特定的URL时,您应该能够获得一条数据(称为资源)。
  • 每个网址都称为一个请求,例如[www.google.com],而发送回给您的数据称为响应。[这是我们在浏览器中可以看到的google页面]

因此,在继续使用REST API之前,我们需要知道什么是API?

API代表应用程序编程接口。

简而言之, API是用于构建和集成应用程序软件的一组定义和协议。

您在使用Facebook,Instagram等应用程序时会使用API​​,或者在手机上查看天气。

例如。

当您访问任何一家食品市场时,您都会向在食品市场工作的人员提供事物列表(以HTTP要求)。 然后[API]的人阅读了您提供给他们的列表,最后,他为您提供了列表中提到的所有内容[仅是响应]。 因此,API不过是一个中介,它允许两个应用程序相互通信。 您可以检查下图以更好地理解。

什么是RESTful API(REST API)?

REST API使用HTTP请求来获取,放置,发布和删除数据。

为了简单起见,请参见以下示例:

假设您尝试在YouTube上找到有关板球的视频。 您打开YouTube,在搜索字段中输入“板球”,然后按Enter,然后您会看到有关板球的视频列表。 在此过程中,您正在使用REST API。 通过简单的方法,您可以搜索内容,然后从请求的服务中获得结果。 因此,这就是REST API,当您执行某些请求时,您将获得数据作为响应。

标准请求API的示例如下所示:

curl -vhttp: //www.google.com

我们正在通过curl发送请求,curl是HTTP客户端。 另外,我们可以使用Postman,REST Client等浏览器实用程序发送请求。

这是我们通过curl请求google.com时在响应中看到的内容:

REST API涉及的方法:

为了使API是RESTful,我们需要遵循以下6个约束:

1.统一的界面

统一接口定义客户端和服务器之间的接口。

对我们来说,这意味着

  • HTTP动词(GET,POST,PUT,DELETE)
  • URI(资源名称)
  • HTTP响应(状态和正文)

2.无状态

由于完整的请求-响应过程是通过HTTP协议完成的,因此它不存储有关事务的任何数据。

3.可缓存

许多客户端或用户访问同一台服务器并经常请求相同的资源,因此有必要对这些响应进行缓存,以避免再次对同一请求进行不必要的处理并显着提高性能。

4.客户端-服务器

统一接口将客户端与服务器分开。 这意味着客户端不关心后端数据或数据存储,服务器不关心用户界面或用户状态,因此服务器可以更简单,更可扩展。 只要不更改接口,服务器和客户端也可以独立替换和开发。

5.分层系统

在请求数据的客户端与将响应发送回的服务器之间,中间可能有许多服务器。 这些服务器可能还提供缓存层,安全层,负载平衡层或其他功能。 这些层不会影响请求或响应。

6.按需编码(可选)

按需编码条件是可选的,它允许客户按需运行一些代码,即通过脚本或applet将服务器逻辑的一部分扩展到客户端。 因此,即使使用服务器提供的完全相同的服务,不同的客户也可能以特定的方式表现。 当执行一些效率更高或更快速的客户端服务时,可以使用按需编码。

REST API的方法:

我们所有人都使用网络技术,进行CRUD操作。 当我说CRUD操作时,仅此而已,我们可以创建资源,读取资源,更新资源和删除资源。 现在,要执行这些操作,您实际上可以使用HTTP方法,这些方法不过是REST API方法。

请参考以下内容。

状态码或响应码:

发出任何请求时,您将在响应中获得一些HTTP状态代码以显示请求的状态。

HTTP状态码很多,分为5类。

状态代码的第一个数字表示该代码属于哪个代码:

1xx的状态码:

状态编码为2xx:

3xx的状态码:

4xx的状态码:

5xx的状态码:

为什么要REST?

REST的最重要功能是它强制执行统一的界面 -每个人都遵循的一组指令或规则。

REST API易于使用且灵活。

由于REST遵循标准的HTTP操作,因此它使用具有特定含义的动词,例如“ get”或“ delete”,以避免不确定性。

REST API也易于修改和扩展。

REST API始终独立于我们可以在任何地方使用的平台或语言的类型。

REST对于构建大型,可伸缩的系统或应用程序很有用。

这个怎么运作:

下图说明了在任何应用程序中其余API的工作方式:

在网站上,当客户端向/ users发送请求以从服务器获取用户列表时,服务器此时将检查用户数据,并将其作为响应发送回用户列表。

因此,我将向您展示REST API的工作原理。 我已经用MongoDB创建了一个快速应用程序。 这是一个基于REST的简单应用程序,其中我们可以看到如何使用不同的方法[GET,PUT,POST,DELETE]将请求发送到数据库,以及可以得到哪种响应。

1. GET请求到服务器以获取数据库中存在的注释:

2. POST请求到服务器以在数据库中创建注释:

3.通过使用noteId将请求发送到服务器以更新注释:

4.删除服务器请求以从数据库中删除特定注释:

如果要尝试使用REST API的示例,可以查看我的GitHub存储库:

快乐编码:)

翻译自: https://hackernoon.com/wtf-are-rest-apis-tn9m32e2

rest api是什么

你可能感兴趣的:(设计模式,python,java,数据库,linux)