RESTful规范总结

news2024/10/6 18:33:35

概念:RESTful(Representational State Transfer 的缩写)是一种广泛使用的API架构风格。
在这里插入图片描述
1.资源:在REST API的设计中,首先需要面向资源建模,其中每个节点是是一个简单资源集合资源
1.1一个集合包含相同类型的简单资源列表。例如,一个用户拥有一组联系人。
1.2资源具有状态,以及0个或多个子资源,每个子资源可以是一个简单资源或一个集合资源。
2.方法Method:每个资源都有一组操作方法,用户通过API完成对应的操作
在这里插入图片描述
RESTful API设计规范

以webService为例通俗解释。

非Rest设计,以往我们都会这么写:

http://localhost:8080/admin/getUser (查询用户)

http://localhost:8080/admin/addUser (新增用户)

http://localhost:8080/admin/updateUser (更新用户)

http://localhost:8080/admin/deleteUser (删除用户)

总结:以不同的URL(主要为使用动词)进行不同的操作。

Rest架构:

GET http://localhost:8080/admin/user (查询用户)

POST http://localhost:8080/admin/user (新增用户)

PUT http://localhost:8080/admin/user (更新用户)

DELETE http://localhost:8080/admin/user (删除用户)

总结:URL只指定资源,以HTTP方法动词进行不同的操作。用HTTP STATUS/CODE定义操作结果。

响应参数
JSON格式(code、data、msg)

状态码
使用适合的状态码很重要,而不应该全部都返回状态码 200

状态码,可根据以下标准按照项目扩展自身状态码:

200~299段 表示操作成功:

200 操作成功,正常返回

201 操作成功,已经正在处理该请求

300~399段 表示参数方面的异常

300 参数类型错误

301 参数格式错误

302 参数超出正常取值范围

303 token过期

304 token无效

400~499段 表示请求地址方面的异常:

400 找不到地址

500~599段 表示内部代码异常:

500 服务器代码异常

部分引用自:https://blog.csdn.net/qq_26420601/article/details/108362730

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1564092.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Win10本地搭建HTTP服务器和FTP服务器

一、开启windows功能 1.进入电脑控制面板-程序-启用或关闭windows功能 2.勾选这3个功能以及展开的全部勾选 二、搭建http服务器 1.打开Internet Information Server(IIS)管理器 在开始菜单里面找到IIS管理器管理控制台或者搜索IIS打开 2.添加网站 进…

【原创】基于springboot+vue学生信息管理系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

<网络> 网络Socket 编程基于UDP协议模拟简易网络通信

目录 前言: 一、预备知识 (一)IP地址 (二)端口号 (三)端口号与进程PID (四)传输层协议 (五)网络字节序 二、socket 套接字 (…

图的应用试题

01.任何一个无向连通图的最小生成树( )。 A.有一棵或多棵 B.只有一棵 C.一定有多棵 D.可能不存在 02.用Prim算法和Kruskal算法构造图的最小生成树,…

Kitex 提供的服务注册与发现 etcd 拓展

📕作者简介: 过去日记,致力于Java、GoLang,Rust等多种编程语言,热爱技术,喜欢游戏的博主。 📘相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看 📙Jav…

Navicat for MySQL 15免费注册方法

一、效果图如下: 注:此方法仅用于非商业用途,请勿传播,否则后果自负。 二、下载安装 下载安装包,分为32位和6位,下载文件名:Navicat for MySQL 15.zip(https://download.csdn.net/…

阿赵UE学习笔记——23、动画蒙太奇

阿赵UE学习笔记目录   大家好,我是阿赵。   继续学习虚幻引擎的使用方法。上一篇介绍了动画合成功能,这次介绍的动画蒙太奇,和动画合成有很多类似的东西,但本质上却又不同。   蒙太奇是法语“剪接”的意思。所以动画蒙太奇&…

2024年03月CCF-GESP编程能力等级认证Scratch图形化编程二级真题解析

本文收录于专栏《Scratch等级认证CCF-GESP真题解析》,专栏总目录・点这里. 一、单选题(共 10 题,每题 3 分,共 30 分) 第1题 小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是?( )。 A、小程序 B、计时器 C、操作系统 D、神话人物 答案:…

XAMPP本地开发环境软件的最佳替代品

在开发新网站或应用时,选择合适的本地开发环境是至关重要的。本地开发环境让您可以在自己的电脑上搭建和测试网站或应用,直到它们准备好被迁移到线上服务器。一些工具甚至提供了推送到生产环境的功能,以及设置多个本地站点的能力。 XAMPP是一…

财报解读:首次全年盈利的奈雪的茶,正越来越“接地气”

从2021年6月到2023年底,上市的奈雪的茶用一年半的时间,终于进入了自己的“盈利时代”。 根据奈雪的茶近日披露的财报,2023年,公司营收51.64亿元,同比增长20.3%;经调整净利润2090万元,上年同期亏…

vue3组合式

setup原始写法 在setup中声明数据和函数,结果要用return{}的形式返回,才可以用模板语法。 setup中没有this 语法糖 将复杂的写法改为简单的写法,数据和方法就不用return返回才可以用模板语法 reactive只接受对象 ref(简单数据复…

Spring 事件广播机制详解

前言 写这篇文章的初衷源自对 Spring 框架中事件机制的好奇心。在编写观察者模式代码示例时,我突然想起了 Spring 框架中支持多事件监听的特性,例如ContextClosedEvent、ContextRefreshedEvent、ContextStartedEvent等等。传统的观察者模式通常是基于单…

2024/4/2 IOday4

使用文件IO 实现父进程向子进程发送信息&#xff0c;并总结中间可能出现的各种问题 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd…

盘点AI编程效率神器合集,代码助手工具大模型、Agent智能体

关注wx公众号:aigc247 进社群加wx号&#xff1a;aigc365 程序员是最擅长革自己命的职业&#xff0c;让我们借助AI的力量一起摸鱼一起卷&#xff01; 据说好用的AI代码助手工具、大模型、Agent智能体 微软的compoliot&#xff1a;AI神器之微软的编码助手Copilot-CSDN博客 阿…

数据库系统概论(超详解!!!) 第三节 关系数据库标准语言SQL(Ⅳ)

1.集合查询 集合操作的种类 并操作UNION 交操作INTERSECT 差操作EXCEPT 参加集合操作的各查询结果的列数必须相同;对应项的数据类型也必须相同 查询计算机科学系的学生及年龄不大于19岁的学生。SELECT *FROM StudentWHERE Sdept CSUNIONSELECT *FROM StudentWHERE Sage&l…

【与C++的邂逅】---- 函数重载与引用

关注小庄 顿顿解馋(▿) 喜欢的小伙伴可以多多支持小庄的文章哦 &#x1f4d2; 数据结构 &#x1f4d2; C 引言 : 上一篇博客我们了解了C入门语法的一部分&#xff0c;今天我们来了解函数重载&#xff0c;引用的技术&#xff0c;请放心食用 ~ 文章目录 一. &#x1f3e0; 函数重…

使用vscode前面几行被定住

当我们使用 vscode 滚动代码文档的时候&#xff0c;发现前面几行被定住了&#xff0c;想 css 的 sticky 一样&#xff0c;可能是之前我们不小心点到了这里&#xff0c;取消就好了

视觉Transformer和Swin Transformer

视觉Transformer概述 ViT的基本结构&#xff1a; ①输入图片首先被切分为固定尺寸的切片&#xff1b; ②对展平的切片进行线性映射&#xff08;通过矩阵乘法对维度进行变换&#xff09;&#xff1b; ③为了保留切片的位置信息&#xff0c;在切片送入Transformer编码器之前&…

做抖音小店,体验分一定要很高吗?多少分才是最佳?

大家好&#xff0c;我是电商花花。 做抖音小店&#xff0c;我们都知道体验分非常重要&#xff0c;如果做抖音小店不重视店铺的体验分&#xff0c;对于我们店铺影响还是很大的&#xff0c;体验分不仅影响我们店铺的销量&#xff0c;更是一个店铺流量的直接开关。 店铺体验分越…

Day28:回溯法 LeedCode 93.复原IP地址 78.子集 90.子集II

93. 复原 IP 地址 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 . 分隔。 例如&#xff1a;"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址&#xff0c;但是 …