什么是RESTfulAPI (什么是热射病?主要有什么表现)
本文目录导航:
什么是RESTfulAPI
什么是RESTfulAPI?RESTfulAPI是什么,以及如何经常使用它?RESTfulAPI是一种建设在HTTP协定和规范Web技术之上的API设计格调。
它准许客户端和主机之间启动交互,并应用现有的通讯协定传输数据。
与SOAP等其余传输协定相比,RESTfulAPI具有更好的可伸缩性和可保养性。
要了解RESTfulAPI,必定先了解以下三个概念:1.资源:指的是可经过API访问的任何内容,例如网站上的文章、图像、评论等。
关于每个资源,应该确定它的惟一标识符,以便轻松地与其交互。
方法:指的是客户端可用于访问资源的方式,罕用的方法有GET、POST、PUT和DELETE。
3.示意:指的是主机前往资源的体现方式,可以是HTML、XML、JSON或其余格局。
RESTfulAPI的外围现实是经过HTTP方法以及URI对资源启动增删改查操作。
例如方法:用于失掉资源,如从主机检索网站上的文章或图像。
示例URI:/articles/123。
方法:用于创立新资源,如在网站上发布新文章或评论。
示例URI:/articles。
方法:用于降级现有资源,例如降级文章的题目或内容。
示例URI:/articles/123。
方法:用于删除资源,例如删除文章或评论。
示例URI:/articles/123。
在成功RESTfulAPI时,应遵照以下几个准则:1.形态应该保留在客户端,而不是主机上。
2.必定经常使用规范HTTP方法和形态代码3.前往的示意应该是可缓存的。
应该惟一标识每个资源。
5.与主机端有形态通讯,每次恳求都应该包括一切必要的信息。
正确定义和成功RESTfulAPI,可以协助开发人员更好地构建可裁减的散布式运行程序。
此外,RESTfulAPI还可以被用于构建web服务,使其愈加安保和高效。
restful api是什么意思
Restful API是一种Web服务架构格调,旨在成功基于网络的系统资源的一致访问机制。
繁难来说,它就是一种以资源为外围、基于HTTP协定的API设计格调,经过经常使用HTTP谓词(GET、POST、PUT、DELETE等)对资源启动操作,经常使用URI(Uniform Resource Identifier,一致资源标识符)定位资源,以及经常使用形态码(HTTP status code)反应恳求结果。
Restful API的好处在于它具有良好的可伸缩性、可裁减性和可保养性,能够为用户带来愈加繁复、可读性低劣、易于调用的API接口。
在Restful架构的设计中,服务端只有提供基本的API接口,客户端担任判别Http恳求的前往结果,依据结果启动后续的业务逻辑解决。
这种设计思维打破了言语友好台限度,成功了内容的可重用性。
当初,随着互联网的日益开展,Restful API也变得越来越广泛。
它可以用于各种畛域,比如社交网络、电子商务、金融服务、物联网和人工智能等畛域。
而且,Restful API也曾经成为了许多公司的技术竞争力的主要起因之一。
因此,对Restful API技术的把握,不只可以协助开发者优化技术实力,还可以协助企业成功更快、更高效、更具竞争力的业务增长。
一个好的RESTfulAPI,具有特色
一个好的RESTfulAPI,应该具有以下特色:
这个API应该是对阅读器友好的,能够很好地融入Web,而不是与Web貌合神离。
1.阅读器是最经常出现和最通用的REST客户端。
好的RESTfulAPI应该能够经常使用阅读器HTML成功一切的测试(不须要经常使用编程言语)。
这样的API还可以很繁难地经常使用各种智能化的Web配置测试、性能测试工具来做测试。
Web前端运行(基于阅读器的RIA运行、移动App等等)也可以很繁难地将多个RESTfulAPI的配置组合起来,建造Mashup类的运行。
这个API中所蕴含的资源和关于资源的操作,应该是直观和容易了解的,并且合乎HTTP协定的要求。
REST开发又被称作“面向资源的开发”,这说明关于资源的形象,是设计RESTfulAPI的外围内容。
RESTfulAPI建模的环节与面向对象建模相似,是以名词为外围的。
这些名词就是资源,任何可命名的形象概念都可以定义为一个资源。
而HTTP协定并不是一种传输协定,它实践提供了一个操作资源的一致接口。
关于资源的任何操作,都应该映射到HTTP的几个有限的方法(罕用的有GET/POST/PUT/DELETE四个方法,还有不罕用的PATCH/HEAD/OPTIONS方法)下面。
所以RESTfulAPI建模的环节,可以看作是具有一致接口解放的面向对象建模环节。
依照HTTP协定的规则,GET方法是安保且幂等的,POST方法是既不安保也不幂等的(可以用来作为一切写操作的通配方法),PUT、DELETE方法都是不安保但幂等的。
将对资源的操作正当映射到这四个方法下面,既不适度经常使用某个方法(例如适度经常使用GET方法或POST方法),也不减少过多的操作以致于HTTP的四个方法不够用。
2.假设发现资源上的操作过多,以致于HTTP的方法不够用,应该思考设计出更多的资源。
设计出更多资源(以及相应的URI)关于RESTfulAPI来说并没有什么坏处。
这个API应该是松耦合的。
RESTfulAPI的设计包括了三个墨守成规、由低到高的档次:资源形象、一致接口、超文本驱动。
正是这三个档次确保了RESTfulAPI的松耦合性。
3.当设计面向互联网的API时,松耦合变成了一种“必定有”的强需求。
紧耦合的API十分软弱,一旦发布进来,主机端和客户端都不可继续退化。
尤其是主机端,发布进来的接口基本不敢改,改了之后,简直一切客户端运行立刻不可反常上班。
REST这种架构格调就是紧耦合API的解毒剂,这个话题可以谈的很深,这里就不开展了。
感兴味的读者可以参考《REST实战》。
这个API中所经常使用的表述格局应该是经常出现的通用格局
在RESTfulAPI中,关于资源的操作,是经过在主机端-客户端之间传递资源的表述来直接成功的。
资源的表述可以有很多种格局,并且在照应和恳求中的资源表述格局也会有所不同。
GET/POST照应中的资源表述格局,经常出现的有HTML、XML、JSON;POST/PUT恳求中的资源表述格局,经常出现的有规范的HTML表单参数、XML、JSON。
4.这些经常出现表述格局,解决起来十分容易,有少量的框架和库提供支持。
所以除非有很正当的要求,理论不须要经常使用自定义的私有格局。
经常使用HTTP照应形态代码来表白各种出错状况
HTTP照应形态代码,是HTTP协定这个一致接口中用来表白出错状况的规范机制。
照应形态代码分红两局部:statuscode和reasonphase。
两局部都是可定制的,也可以经常使用规范的statuscode,只定制reasonphase。
5.假设一个所谓的“RESTfulAPI”关于任何恳求都前往200OK照应,在照应的信息体中前往出错状况信息,这种做法显然不合乎“确保操作语义的可见性”这个REST架构格调的基本要求。
这个API应该关于HTTP缓存是友好的
6.充沛应用好HTTP缓存是RESTfulAPI可伸缩性的基本。
HTTP协定是一个分层的架构,从两端的useragent到originserver之间,可以拔出很多两边组件。
而在整个HTTP通讯链条的很多位置,都可以设置缓存。
HTTP协定内建有很好的缓存机制,可以分红过时模型和验证模型两套缓存机制。
假设API设计者齐全没有思考过如何应用HTTP缓存,那么这个API的可伸缩性会有很多疑问。