什么是RESTful API?

图文详解 RESTful 一、什么是RESTful ? RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。 而REST全称是Representational State Transfer,中文意思是表述性状态转移。REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。 二、 RESTful特点 RESTFUL特点包括: 每一个URI代表1种资源; 客户端使用GET、POST、PUT... 阅读详情

转载:https://blog.youkuaiyun.com/hjc1984117/article/details/77334616

要弄清楚什么是RESTful API,首先要弄清楚什么是REST。REST -- REpresentational State Transfer,英语的直译就是“表现层状态转移”。如果看这个概念,估计没几个人能明白是什么意思。那下面就让我来用一句人话解释一下什么是RESTful:URL定位资源,用HTTP动词(GET,POST,PUT,DELETE)描述操作。

 

     Resource:资源,即数据。
     Representational:某种表现形式,比如用JSON,XML,JPEG等;
     State Transfer:状态变化。通过HTTP动词实现。

 

    所以RESTful API就是REST风格的API。 那么在什么场景下使用RESTful API呢?在当今的互联网应用的前端展示媒介很丰富。有手机、有平板电脑还有PC以及其他的展示媒介。那么这些前端接收到的用户请求统一由一个后台来处理并返回给不同的前端肯定是最科学和最经济的方式,RESTful API就是一套协议来规范多种形式的前端和同一个后台的交互方式。

 

     RESTful API由后台也就是SERVER来提供前端来调用。前端调用API向后台发起HTTP请求,后台响应请求将处理结果反馈给前端。也就是说RESTful 是典型的基于HTTP的协议。那么RESTful API有哪些设计原则和规范呢?

 

     1,资源。首先是弄清楚资源的概念。资源就是网络上的一个实体,一段文本,一张图片或者一首歌曲。资源总是要通过一种载体来反应它的内容。文本可以用TXT,也可以用HTML或者XML、图片可以用JPG格式或者PNG格式,JSON是现在最常用的资源表现形式。

 

     2,统一接口。RESTful风格的数据元操CRUD(create,read,update,delete)分别对应HTTP方法:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源,这样就统一了数据操作的接口。

 

     3,URI。可以用一个URI(统一资源定位符)指向资源,即每个URI都对应一个特定的资源。要获取这个资源访问它的URI就可以,因此URI就成了每一个资源的地址或识别符。一般的,每个资源至少有一个URI与之对应,最典型的URI就是URL。

 

     4,无状态。所谓无状态即所有的资源都可以URI定位,而且这个定位与其他资源无关,也不会因为其他资源的变化而变化。有状态和无状态的区别,举个例子说明一下,例如要查询员工工资的步骤为第一步:登录系统。第二步:进入查询工资的页面。第三步:搜索该员工。第四步:点击姓名查看工资。这样的操作流程就是有状态的,查询工资的每一个步骤都依赖于前一个步骤,只要前置操作不成功,后续操作就无法执行。如果输入一个URL就可以得到指定员工的工资,则这种情况就是无状态的,因为获取工资不依赖于其他资源或状态,且这种情况下,员工工资是一个资源,由一个URL与之对应可以通过HTTP中的GET方法得到资源,这就是典型的RESTful风格。

 

     说了这么多,到底RESTful长什么样子的呢?

GET:http://www.xxx.com/source/id 获取指定ID的某一类资源。例如GET:http://www.xxx.com/friends/123表示获取ID为123的会员的好友列表。如果不加id就表示获取所有会员的好友列表。

POST:http://www.xxx.com/friends/123表示为指定ID为123的会员新增好友。其他的操作类似就不举例了。

 

     RESTful API还有其他一些规范。1:应该将API的版本号放入URL。GET:http://www.xxx.com/v1/friend/123。或者将版本号放在HTTP头信息中。我个人觉得要不要版本号取决于自己开发团队的习惯和业务的需要,不是强制的。2:URL中只能有名词而不能有动词,操作的表达是使用HTTP的动词GET,POST,PUT,DELETEL。URL只标识资源的地址,既然是资源那就是名词了。3:如果记录数量很多,服务器不可能都将它们返回给用户。API应该提供参数,过滤返回结果。?limit=10:指定返回记录的数量、?page=2&per_page=100:指定第几页,以及每页的记录数。

django restful API 注意,这里的只是app的路由 ,并不是项目的路由,将数据库内容 转为python的格式。注册APP到django里。运行django,默认l。 阅读详情

相关推荐

RestFul API 详解

RESTful API 经常也被叫做 REST API,它是基于 REST 构建的 API。RESTful API 可以让你看到 URL+Http Method 就知道这个 URL 是干什么的,让你看到了 HTTP 状态码(status code)就知道请求结果如何。

wynn的博客 7580

RESTful

一、RESTful RESTful,一种通用的前后台交互方式 RESTful一般是指这种格式: (1)使用HTTP POST(或GET)进行数据交互 (2)请求数据和应答数据均为JSON格式(或XML) 二、RESTful接口的实现 RESTful的前端实现 前端:在发送请求时,把请求转成JSON字符串 $.ajax({ type:"POST", /*请求类...

给你更好的 3万+

金蝶云星空-协同开发云-安装开发环境

金蝶协同开发云就是不需要每一个开发都在自己的本机安装开发环境,自己安装可容易出错,包括源代码管理也一并解决了,大大减少了开发人员的工作量和降低了上手的难度。

qq_33881408的博客 5594

spring-boot(四)异常配置,Whitelabel Error Page处理方式

前言我用的spring boot版本号是2.0.1 1、srping boot几种异常类型 rest接口运行时抛出的异常 访问视图时抛出的异常 a、访问一个存在的url返回一个不存的视图异常 b、访问一个不存的url异常 1.1spring boot默认处理异常的方式 spring boot访问视图接口默认处理异常的是用类BasicErrorController实...

lh87270202的博客 4万+

STM32F407串口DMA收发实战:标准库配置与环形缓冲区实现

DMA(直接存储器访问)是嵌入式系统中提升数据传输效率的核心技术,它允许外设与内存直接交换数据而无需CPU干预。其工作原理是通过专用硬件控制器接管数据搬运任务,CPU仅需初始化传输参数即可处理其他事务,从而显著降低系统负载。这项技术的核心价值在于释放CPU算力,实现高吞吐、低延迟的实时通信,尤其适用于数据采集、工业控制和通信网关等场景。在STM32F407等ARM Cortex-M4芯片中,串口结合DMA可实现稳定的高速数据流处理。本文以STM32F407标准库为基础,深入解析USART1的DMA发送与接收

weixin_29169899的博客 316

金融领域强化学习在多资产类别动态交易执行中的应用

在金融市场中,多资产类别的交易执行面临着诸多挑战,如市场的不确定性、资产间的复杂相关性等。传统的交易策略往往难以适应动态变化的市场环境。本研究的目的在于探索如何运用强化学习技术,实现多资产类别在动态市场环境下的高效交易执行。具体范围涵盖了从强化学习的基本原理到在多资产交易场景中的实际应用,包括核心算法的实现、数学模型的构建以及项目实战等方面。本文首先介绍研究背景,包括目的、预期读者和文档结构。接着阐述核心概念,包括强化学习和多资产类别动态交易执行的原理及其联系。

AI 领航者的博客 629

Whitelabel Error Page原因及解决方案

Whitelabel Error Page原因及解决方案 解决方案一: 目录结构问题: 官网说明:http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#using-boot-structuring-your-code 14.2 Locating the main application class We generally recommend that you locate your main applic

weixin_44121790的博客 3万+

ArcMap 10.7/10.8启动加载界面后闪退?可能是这个隐藏的Normal.mxt模板文件在搞鬼

本文深入分析了ArcMap 10.7/10.8启动加载界面后闪退的问题,指出Normal.mxt模板文件损坏是常见原因。提供了从定位、删除模板文件到系统级修复的完整解决方案,帮助GIS工程师快速恢复工作流程。

weixin_28523493的博客 329

Restful API是什么、为什么、怎么使用

Restful API 文章目录Restful API1、REST是什么以及它的 6 个限制REST是什么?REST的6个限制2、 Restful是什么Restful是什么RESTful API具体什么样子?现实举例从资源出发3、为什么要使用RestfulHTTP协议-URLHTTP协议-请求HTTP协议-响应RESTful架构与其他架构的区别效率和易用性安全性4、 如何使用Restful资源路径...

渐若窥宏大的博客 1万+

Android Audio录音——AudioRecord回声消除(九)

在语音通话或录音场景中,回声(Acoustic Echo)通常是指说话的声音从对方的扬声器播放出来,又被对方的麦克风拾取,然后有被传回来,导致我们听到了自己延迟了一段时间的重复声音。

小旭的专栏 1399

化工热力学软件:Aspen Plus二次开发_(9).过程控制与动态模拟v1

Aspen Plus 提供了丰富的过程控制工具和方法,可以用于静态和动态过程的模拟和控制策略的开发。通过控制回路设计、动态模拟、优化工具和数据交换接口,用户可以设计和优化各种复杂的控制策略,提高化工生产的稳定性和效率。此外,结合外部软件(如MATLAB、Simulink、LabVIEW等),可以实现更高级的控制策略,如自适应控制和模型预测控制,进一步提升过程控制的精度和灵活性。希望本文的内容能帮助用户更好地理解和应用Aspen Plus中的过程控制功能。

kkchenjj的博客 403

Restful API

RESTful API是一种遵循REST架构风格的API设计规范,其核心思想是将网络资源抽象化并通过HTTP动词进行操作。主要特点包括:URI代表资源(使用复数名词)、HTTP方法(GET/POST/PUT/DELETE等)对应操作、统一状态码和响应格式。相较于传统面向操作的API设计,RESTful风格将关注点转向资源本身,使用统一的资源路径配合不同HTTP方法实现CRUD操作,使系统更加清晰规范。设计要点还包含版本控制、过滤参数和超媒体API等扩展能力。这种设计风格提高了API的可读性、可维护性和扩展性

LYB的博客 1117

025、空间降噪与时域降噪:噪声抑制与细节保留的平衡艺术

《降噪技术的平衡艺术:空间与时域降噪的协同优化》 本文深入探讨了图像处理中空间降噪与时域降噪的技术原理与工程实践。空间降噪通过像素级处理提升单帧质量,而时域降噪则利用帧间信息增强稳定性。文章揭示了两种方法在实际应用中的矛盾点:过度降噪会导致细节损失,影响后续算法性能。作者结合车载环视系统等实战案例,详细分享了参数调优经验,包括运动自适应策略、边缘保持技巧和嵌入式平台优化方案。特别强调降噪的最终目标应服务于下游算法需求,而非单纯追求图像美观。文章为工程人员提供了从理论到实践的完整指导,展现了降噪技术在效果与性

sundong_81的博客 186

什么是RESTful API?

        提到RESTful API 大家势必或多或少听说过。但是什么是RESTful API ?如何理解RESTful API 呢?请大家耐心读完这篇文章,相信您读完后一定会有一个更好的理解。我个人认为,要弄清楚什么是RESTful API,首先要弄清楚什么是REST。REST 全称:REpresentational State Transfer,英文翻译过来就是“表现层状态转化”。如果...

Evan's Blog ٩(๑❛ᴗ❛๑)۶ 10万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

什么是RESTful API?与非RESTful API有和区别

RESTful是一种基于HTTP协议的软件架构风格,由Roy Fielding在2000年提出。它将网络资源抽象为URI,通过标准HTTP方法(GET/POST/PUT/DELETE)进行操作,强调无状态和统一接口。RESTful API使用名词复数URI(如/users),区别于非RESTful风格使用动词的URI(如/getUser)。其优势在于简洁性、可扩展性和标准化的状态码使用,是现代Web服务的主流设计方式。

2301_77170676的博客 520

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

RESTful风格API详解

在学习RESTful 风格接口之前,即使你不知道它是什么,但你肯定会好奇它能解决什么问题?有什么应用场景?听完下面描述我想你就会明白: 在互联网并没有完全流行的初期,移动端也没有那么盛行,页面请求和并发量也不高,那时候人们对接口的要求没那么高,一些动态页面(jsp)就能满足绝大多数的使用需求。 但是随着互联网和移动设备的发展,人们对Web应用的使用需求也增加,传统的动态页面由于低效率而渐渐被HTML+JavaScript(Ajax)的前后端分离所取代,并且安卓、IOS、小程序等形式客户端层出不穷,客户端的

tc979907461的博客 4616

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

RESTful API

一、概述 起源:REST,即Representational State Transfer的缩写,翻译为"表现层状态转化"。其中省略了主语,“表现层"其实指的是"资源”(Resources)的"表现层"。我们把"资源"具体呈现出来的形式,叫做它的"表现层"(Representation)。 RESTful AP 的设计是以资源为核心,每一个URI代表一种资源。【因此:URI不饱包含动词,只能...

qq_34092585的博客 4921

Restful风格API

一、什么是API? API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。——百度百科 简单来说就是:别人写好代码,编译号程序,可以让其他人调用使用,就称作API。你使用了别人代码(或者程序)中的某个函数、类、对象,就叫做使用了某个API。 二、restful是什么? restful是一种软件架构风格、设计风格,而..

qq_45726570的博客 3459

html restful api,RESTful API

RESTful API项目中,经常要提供一个 API 供第三方使用,一个通用的 API 设计规范就是使用 RESTful API,RESTful API 是使用 HTTP 中的请求类型来标识对资源的操作。如:GET /ticket 获取 ticket 列表GET /ticket/:id 查看某个具体的 ticketPOST /ticket 新建一个 ticketPUT /ticket/:id ...

weixin_39706441的博客 309

RESTful API介绍

文章目录RESTful API查看源图像什么是API?什么是RESTful API?解读REST(了解内容)RESTful API 规范信息过滤状态码(Status Codes)RESTful 的极致 HATEOAS-END- RESTful API 正式学习RESTful API之前,我们需要把什么是API搞懂. 什么是API? API(Application Programming Interface) 翻译过来是应用程序编程接口的意思。 相信大家对于API这个此已经不陌生了, 比如"我调用了某某的A

D1842501760的博客 3029

RestFul API秒懂,什么是RestFul API

RestFul API 是每个程序员都应该了解并掌握的基本知识,我们在开发过程中设计API的时候也应该至少要满足RestFul API的最基本的要求(比如接口中尽量使用名词,使用POST 请求创建资源,DELETE请求删除资源等等,示例:GET /notes/id:获取某个指定id的笔记的信息)。最近学习过程中接触到这些东西,自己没有时间总结,所以分享一些不错的文章给大家。 相关阅读: ...

Dream_xun的专栏 1599

RESTful风格API

什么是RESTful RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。 RESTFUL特点包括: 每一个URI代表1种资源 客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来

一条小黑龙的博客 1011

Nodejs之Restful Api

认识Restful Api Rest Rest即表述性状态传递,Representational State Transfer的简称; Rest是一种软件架构风格; Rest是一组架构约束条件和原则; REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准 REST 通常使用 JSON 数据格式。 REST是设计风格而不是标准 Restful 满足这些约...

jolieLi2019888的博客 1800

简述对REST,RESTFUL,RESTFUL API的认识

简述对REST,RESTFUL,REST API的认识 一、REST风格 REST的起源 REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的。Fielding是一个非常重要的人,他是HTTP协议(1.0版和1.1版)的主要设计者、Apache服务器软件的作者之一、Apache基金会的第一任主席。所以,他的这篇论文一经发表,就引起了关注,并且立即对互联网开...

王小二(海阔天空) 1203

RESTFul API

Representional State Transfer:表述性状态转移本身来说概念非常抽象,从字面上都不能很好理解。不需要深层次了解对于开发工程师来说我们不用彻底了解rest是什么的,我们需要学会Restful的API设计,其本质可以认为是一种风格,一种约束,设计理念。与之对应的有Soap其本身是相对重量级的,而目前互联网的发展是向轻量级的,其用XML来描述数据的,rest是通过json来描述...

jhkj_5154的博客 4656
上一篇: InputStream类中的三种read方法-学习中有发现了一个重要知识惊喜
下一篇: mysql中explain的type的解释(重要)
周末去看海
博客等级 码龄9年 50粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值