API 如何设计好的RESTful (api如何设置)
本文目录导航:
- 如何设计好的RESTful API
- 面试官:说说你对 RESTful 的了解?
- REST引见
- REST架构特色
- REST架构限度条件
- RESTful API设计规范
- 一个RESTful API案例
- 总结
- 一文搞懂什么是RESTful API
如何设计好的RESTful API
1.接口命名规定端口/v1/接口名IP:主机IP地址端口:Restful端口号V1:版本号(1)接口名:命名规定:现有接口方法去第一个单词后,全小写命名,如:市区消息查问, 原接口名:queryCityId (String id)Restful接口:端口/v1/cityid\2.参数规定 参数提交模式:Application/www-form-urlencoded参数命名:单词采取小写,复合词采取下划线离开的全小写命名。
参数规定:批量查问需有page_size以及page_num参数,防止一次性性查问,局部参数需有自动值设定。
Restful接口设计准则l经常使用规范HTTP方法成功资源CURD操作;l驳回json作为API输入输入;l以json输入失误消息。
注:Http协定详解HTTP恳求方法在 RESTfulAPI 中的典型运行一组资源的URI,比如user/ 列出 URI,以及该资源组中每个资源的详细消息(后者可选)。
经常使用给定的一组资源交流以后整组资源。
在本组资源中创立/追加一个新的资源。
该操作往往前往新资源的URL。
删除 整组资源。
单个资源的URI,比如失掉 指定的资源的详细消息,格局经常使用JSON 交流/创立 指定的资源。
并将其追加到相应的资源组中。
把指定的资源当做一个资源组,并在其下创立/追加一个新的元素,使其附属于以后资源。
删除 指定的元素。
PUT 和 DELETE 方法是幂等方法。
GET方法是安保方法 (不会对主机端有修正,因此当然也是幂等的)。
支持的前往码列表:HTTP前往码成功举例例如,一个繁难的客户治理运行:罗列一切客户:URL: GET http:// ip: 8080/v1/crm/customer输入:无输入:略 出现某一位客户:URL: GET http:// ip: 8080/v1/crm/customer/[customer id]输入:无输入:略 新增客户:URL: POST http:// ip: 8080/v1/crm/ customer输入:略输入:略 降级用户:依据降级参数,须要降级哪些参数就选哪些参数。
面试官:说说你对 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 API
前言在探求RESTful格调接口之前,你能否对它在处置哪些疑问、领有哪些运行场景感到猎奇?听完上方的形容,你将能明白其关键性:在互联网及移动设施开展初期,页面恳求和并发量不高,灵活页面能满足大少数需求。
但随着互联网和移动设施的盛行,Web运行需求参与,灵活页面因低效被HTML+JavaScript取代,客户端种类多样化,接口规范性成为关键。
RESTful格调接口,因其结构明晰、易于了解和裁减,逐渐盛行起来,成为目前最盛行的接口设计规范。
RESTful API在泛滥公司中宽泛运行,GitHub的API设计是典型例子,可作为学习参考。
许多人虽经常使用传统API启动交互,但对RESTful API的认知或许仅逗留在外表。
本教程将带你深化了解RESTful,并用SpringBoot实战RESTful API。
一、REST引见REST架构格调是一种软件设计格调,它并重于客户端和服务端交互。
它关键用于网络运行,设计繁复、档次明显,易于成功缓存等机制。
REST架构由Roy Thomas Fielding在2000年博士论文中提出,强调节解和评价基于网络运行的架构设计,旨在创立配置弱小、性能优秀、易于通讯的架构。
REST架构并非规范,而是一种设计格调,满足这些格调的程序或接口称为RESTful。
RESTful API即遵照REST架构格调的接口。
Fielding博士在论文中提出REST架构的6个限度条件,可称为RESTful 6大准则,包括客户端-服务端分别、有形态、可缓存性、一致接口、分层系统和按需代码。
二、RESTful API设计规范了解RESTful规定和特性后,如何设计RESTful API?从URL门路、HTTP恳求动词、形态码和前往结果等方面详细思考。
上方总结RESTful API设计规范,包括URL设计、HTTP动词经常使用、形态码运行和前往数据格局。
URL设计遵照RESTful规范,通常蕴含版本号、资源类型和资源ID。
URL应明晰、繁复,合乎RESTful架构。
HTTP动词有GET、POST、PUT和DELETE,区分对应失掉、创立、降级和删除资源。
每个动词用于明白操作类型,防止混杂。
形态码用于示意恳求处置结果,如200示意成功,404示意未找到资源。
前往数据通常为JSON格局,便于客户端解析。
总结本文从RESTful特点登程,深化讨论RESTful API设计,经过SpringBoot实战案例,展现RESTful格调的API设计与成功。
了解RESTful并非故步自封,而是依据业务需求灵敏选用。
学习RESTful API将协助你在名目中成功更高效、可保养的接口设计。