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存储库:
快乐编码:)
rest api是什么