restful接口设计规范总结 (restful接口和http接口有啥区别)
本文目录导航:
- restful接口设计规范总结
- 面试官:说说你对 RESTful 的了解?
- REST引见
- REST架构特色
- REST架构限度条件
- RESTful API设计规范
- 一个RESTful API案例
- 总结
- RESTful 接口成功扼要指南
- REST简介
- REST对恳求的商定
- 分页、过滤
- 总结
restful接口设计规范总结
Resource(资源):对象的单个实例,如生物、文本、图片等。
每个资源都有一个URI(一致资源定位符)作为惟一标识。
汇合是多个对象的组合,如生物汇合。
第三方支经常使用接口的开发者。
体现层是资源的多种出现方式,如文本的txt、HTML、XML、JSON格局,图片的JPG、PNG格局。
形态转化是客户端与主机互动环节中数据和形态的变动,经过HTTP协定成功,客户端关键经常使用GET、POST、PUT、DELETE四个动词。
URI仅标识资源位置,不示意方式,后缀名如属于体现层,应经过HTTP恳求头中的Accept和Content-Type字段描画体现层。
RESTful架构总结:每个URI代表一种资源,客户端与主机间传递资源体现层,客户端经过HTTP动词操作主机资源。
REST接口规范:GET用于检索资源或资源列表,POST用于创立资源,PUT用于降级资源(提供整个资源),PATCH用于降级资源(提供局部消息),DELETE用于删除资源。
门路设计应经常使用名词示意API详细网址,与数据库表名对应,通经常常使用双数方式示意汇合,如:/zoos(一切生物园)/zoos/ID(指定生物园消息)/zoos/ID/animals(指定生物园一切生物)。
版本控制:API版本号放入URL,如,或经过HTTP头消息,但URL方式更直观。
过滤消息:API提供参数以过滤前往结果,如limit、offset、sortby等。
形态码:1xx消息,2xx成功,3xx重定向,4xx客户端失误,5xx主机失误。
经常出现形态码及含意包括:200 OK、201 CREATED、202 Accepted、204 NO CONTENT、400 INVALID REQUEST、401 Unauthorized等。
失误处置:4xx形态码时应前往出错消息,键值对方式如{ error: Invalid API key }。
前往结果应合乎操作规范,如GET /collection前往资源列表,POST /collection前往重生成资源等。
Hypermedia API:前往结果中蕴含链接指向其余API方法,成功无需文档即可了解操作流程,设计准则为HATEOAS(Hypermedia as the Engine of Application state)。
如GitHub API设计,经过链接指援用户调用不同API方法。
面试官:说说你对 RESTful 的了解?
在学习RESTful格调接口之前,你或许会猎奇它能处置什么疑问,以及有什么运行场景。
实践上,随着互联网和移动设施的始终开展,Web运行的需求日益参与。
传统的灵活页面由于效率低下逐渐被HTML+JavaScript(Ajax)的前后端分别所取代。
同时,客户端的种类也产生了多元化,包括安卓、iOS、小程序等,这使得客户端和服务端之间的接口通讯变得尤为关键。
在此背景下,RESTful格调的接口因其结构明晰、合乎规范、易于了解且裁减繁难,逐渐成为盛行的选用。
RESTful是目前最盛行的接口设计规范,在许多公司中有着宽泛的运行。
例如,GitHub的API设计就是典型的RESTful API,你可以参考学习。
在通常中,虽然很多人或许仍经常使用传统API启动恳求交互,但对RESTful API的了解或许仅限于一些外表消息。
实践上,很多人或许对RESTful API存在曲解,例如,以为没有查问字符串就是RESTful API,或许经常使用了查问字符串就不是RESTful API,更误以为经常使用了JSON传输的API就是RESTful API。
本文将带你深化了解RESTful,并经过SpringBoot通常RESTful API。
在开局之前,咱们先了解一些RESTful的基本概念和特色。
REST引见
REST触及的概念性常识较多,在通常RESTful API之前,咱们须要对REST关系的常识有系统的认知。
REST的降生是为了了解和评价基于网络的运行软件的架构设计,旨在创立一个配置弱小、性能优秀、易于通讯的架构。
REST架构初次出如今2000年Roy Thomas Fielding的博士论文中,这篇论文详细引见了REST架构格调,并描画了如何经常使用REST来指点现代Web架构的设计和开发。
虽然REST并没有一个明白的规范,而更像是一种设计格调,满足这种格调的程序或接口被称为RESTful。
RESTful API就是遵照REST架构格调的接口。
REST架构特色
了解REST和RESTful的咨询与区别之后,咱们开局详细学习RESTful的一些解放条件和规定。RESTful是一种设计格调,大抵有以下几个关键特色:
REST架构限度条件
Fielding在论文中提出REST架构的六个限度条件,即RESTful设计的六大准则,规范的REST解放应满足以下准则:
RESTful API设计规范
了解了RESTful的基本规定和特性后,咱们如何设计一个RESTful API?重点思考URL门路、HTTP恳求动词、形态码和前往结果等方面。详细规范如下:
一个RESTful API案例
经过通经常识的引见,接上去咱们将经过一个案例来通常RESTful API。
在本案例中,咱们将访问实在数据库操作,创立数据库和表,经常使用SpringBoot成功RESTful格调的API。
在构建API时,须要对各种恳求有更粗疏的认知。
为了展示方便,本案例在成功时并未齐全遵照RESTful API规范,如版本号等消息。
案例更并重于经常使用SpringBoot成功接口。
案例将成功对dog资源的增删改查配置,包括非RESTful和RESTful接口的对比。
在经常使用POSTman启动发送恳求时,有三种罕用文件类型:form-data、x-www-form-urlencoded和raw,区分用于上行二进制文件、键值对数据和恣意格局文本。
总结
RESTful格调的API确实很好,但并非一切互联网公司都严厉遵照其规定设计API,由于REST只是一种格调而非解放或规定,适度现实化的RESTful API或许会付出不用要的老本。
虽然RESTful API存在一些缺陷,但当业务场景与REST格调婚配时,可以驳回RESTful格调API。
假设业务需求与RESTful格调不婚配或操作起来较为费事,也可以不驳回RESTful格调API,毕竟,无论哪种格调的API都是为了繁难团队开发、协商和治理。
经过本文的引见和通常,置信你对RESTful有了更深入的了解。
在后续的API设计中,你将能够依据实践需求启动提升。
虽然不同的人对RESTful API的了解或许不同,但其长处和特点使其成为API设计的关键选用之一,把握和了解RESTful API关于开发者来说十分关键。
RESTful 接口成功扼要指南
在前后端分别的Web运行架构中,REST是一种盛行的前后端交互方式的商定。
REST并不导致某个技术规范,后端开发者在成功中有着齐全的自主权,一些宣称RESTful的接口或许并未真正遵照其规范。
GitHub是一个让人惊叹的RESTful接口成功范例,其接口文档让人深入感遭到REST接口的美妙,合乎“接口的方式美感”的等候。
本文聚焦几个关键点,论述构建一个让前端开发者感到温馨的RESTful接口应该具有的特性。
REST简介
REST(REpresentational State Transfer)是一个术语缩写,直译为“表征形态转移”。
先不急于了解这个拗口的词,先看其实施细节。
REST是一种格调商定,其描画词方式为RESTful。
遵照REST格调的接口称为RESTful接口。
REST对恳求的商定
REST用于规范运行如何在HTTP层与API提供方启动数据交互。
以后阶段,GET和POST恳求或许已是你所相熟的HTTP方法,甚至你的整个运行或许齐全依赖这两种方法。
这无疑糜费了HTTP协定的后劲,而REST则充沛应用HTTP规范中的方法,成功接口描画的语义化。
REST架构商定在恳求层面两个关键方面:HTTP恳求的方法和恳求的链接。
API的URL
URL用于定位资源,与操作行为区离开来,象征着URL不应蕴含任何动词。
在REST架构中,URL应明白指向资源,而不应描画操作行为。
例如,不应在URL中产生“get”、“create”、“search”等动词。
这与术语定义“一致资源定位符”相分歧,标明URL用于定位资源,而非描画操作。
系统中简直只经常使用GET和POST方法成功一切接口操作,相似于仅经常使用DIV启动规划。
实践上,咱们有更多HTTP方法可用,包括GET、POST、PUT、PATCH、DELETE。
这些方法与数据的CRUD操作对应。
GET用于资源的读取。
CreatedPOST用于资源的创立。
Update
PUT和PATCH用于资源的降级。
PUT降级资源的所有消息,PATCH仅降级指定字段。
DELETE用于资源的删除。
分页、过滤
REST格调的接口或许示意单个资源或资源汇合。
访问资源汇合时,设计良好的接口应接受参数,准许只前往满足特定条件的资源列表。
这包括支持分页、搜查关键词、排序和依据字段过滤。
总结
本文从恳求角度选用几个关键点论述成功RESTful接口的基本要求。
遵照REST规范,可语义化描画HTTP恳求操作。
相熟REST格调接口后,可基本了解如何经常使用接口启动CRUD操作。
深化了解REST规范,可参考关系仓库。