API 如何设计好的RESTful (api如何设置)

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将协助你在名目中成功更高效、可保养的接口设计。

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

31阅读

外国教程python,python编程教学视频

2026年09月02日

25阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

26阅读

python教程大全集,python教程600集

2026年09月02日

26阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

22阅读