news 2026/5/1 4:52:21

7 RESTful 规范

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
7 RESTful 规范

7 RESTful 规范

RESTful 规范是目前企业开发中主流的 API 设计风格(几乎所有互联网项目都会用),核心是 “用 HTTP 协议的特性来定义接口的语义”—— 简单说就是 “通过 URL 表示资源,通过 HTTP 方法表示对资源的操作”。

7.1 RESTful 的核心规则

RESTful 规范的核心是 **“资源”+“操作” 分离 **:
  • 资源:用 URL 表示(比如 “购物车项” 是资源,URL 写成/cart/items);
  • 操作:用 HTTP 方法表示(比如 “查、增、删” 对应 GET/POST/DELETE)。
  1. 规则 1:URL 表示 “资源”,不用动词
❌ 非 RESTful(URL 里带 “操作动词”):
/getCartItems // 查购物车 /addCartItem // 加购物车 /deleteCartItem // 删购物车项

✅ RESTful 写法(URL 只写资源,用 HTTP 方法表示操作):

GET /cart/items → 查购物车项(比如:对应controller的`getCartItems`方法) POST /cart/items → 加购物车项(比如:对应controller的`addItemToCart`方法) DELETE /cart/items/{itemId} → 删购物车项(比如:对应controller的`removeItemFromCart`方法)
/cart/items是 “购物车项” 这个资源,HTTP 方法决定是 “查、增、删”。
  1. 规则 2:用 HTTP 方法表示 “操作”
RESTful 中 HTTP 方法的对应关系,比如:
HTTP 方法
操作
你的接口示例
作用
GET
查(读)
@GetMapping("/cart/items")
获取购物车列表
POST
增(创建)
@PostMapping("/cart/items")
新增购物车项
DELETE
删(删除)
@DeleteMapping("/cart/items/{itemId}")
删除指定购物车项
PUT
改(全量更新)
@PutMapping("/cart/items/{itemId}")
更新购物车项数量
  1. 规则 3:用路径参数表示 “单个资源”
比如删除 “某个购物车项” 的接口:
@DeleteMapping("/cart/items/{itemId}") public Result<Void> removeItemFromCart(@PathVariable Long itemId) { ... }
  • URL 中的{itemId}是 “路径参数”,表示 “单个购物车项资源”;
  • 对应 RESTful 的 “操作单个资源” 语义(比如/cart/items/123就是 “ID 为 123 的购物车项”)。

7.2 在企业中的应用

现在几乎所有企业级项目(尤其是前后端分离、微服务项目)都采用 RESTful 规范,原因是:
  1. 接口语义清晰:看 URL 和 HTTP 方法就知道是 “操作什么资源、做什么事”,比如DELETE /cart/items/123,不用看文档就知道是 “删除 ID 为 123 的购物车项”;
  2. 前后端协作高效:前端开发者不用记 “接口叫什么名字”,只需要按 “资源 + 方法” 的逻辑调用;
  3. 兼容各种框架 / 工具:Swagger、Postman 等工具都对 RESTful 接口有友好支持,自动生成文档、调试更方便;
  4. 易扩展:比如后续要加 “修改购物车项”,直接用PUT /cart/items/{itemId},接口风格统一,维护成本低。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 5:52:39

Wan2.2-T2V-A14B模型推理优化实践:降低Token消耗提升响应速度

Wan2.2-T2V-A14B模型推理优化实践&#xff1a;降低Token消耗提升响应速度 在影视预演、广告生成和数字内容创作领域&#xff0c;人们对“一句话生成高质量视频”的期待正从愿景走向现实。Wan2.2-T2V-A14B作为阿里巴巴自研的旗舰级文本到视频&#xff08;Text-to-Video, T2V&…

作者头像 李华
网站建设 2026/5/1 5:53:45

小米运动步数自动同步神器:2025年终极配置与实战指南

小米运动步数自动同步神器&#xff1a;2025年终极配置与实战指南 【免费下载链接】mimotion 小米运动刷步数&#xff08;微信支付宝&#xff09;支持邮箱登录 项目地址: https://gitcode.com/gh_mirrors/mimo/mimotion 还在为每天的运动步数不够而烦恼吗&#xff1f;小米…

作者头像 李华
网站建设 2026/4/30 9:21:37

《游戏难度评估进阶指南:穿透数据表象,精准捕捉玩家真实体感逻辑》

游戏难度的合理性从来不是凭经验堆砌的主观判断,更不是通关率高低的单一数值定论,而是藏在玩家行为数据里的隐性逻辑闭环。开发过程中最容易陷入的误区,是把“玩家能通关”等同于“难度合理”,却忽略了那些藏在数据褶皱里的体感失衡—比如玩家反复重试却无策略可寻的烦躁、…

作者头像 李华
网站建设 2026/5/1 5:53:05

ZeroOmega代理管理终极指南:快速切换浏览器代理的完整方案

ZeroOmega代理管理终极指南&#xff1a;快速切换浏览器代理的完整方案 【免费下载链接】ZeroOmega Manage and switch between multiple proxies quickly & easily. 项目地址: https://gitcode.com/gh_mirrors/ze/ZeroOmega 在现代网络环境中&#xff0c;高效的代理…

作者头像 李华
网站建设 2026/5/1 5:53:05

29、嵌入式系统文件系统配置与管理指南

嵌入式系统文件系统配置与管理指南 在嵌入式系统开发中,文件系统的配置和管理是至关重要的环节。合理的文件系统选择和布局能够提高系统的性能、稳定性和可维护性。本文将详细介绍如何使用NFS挂载根文件系统将文件系统映像写入闪存,以及如何在RAM磁盘上放置磁盘文件系统等内…

作者头像 李华
网站建设 2026/5/1 5:53:44

3分钟掌握微信小程序3D开发:threejs-miniprogram终极教程

3分钟掌握微信小程序3D开发&#xff1a;threejs-miniprogram终极教程 【免费下载链接】threejs-miniprogram WeChat MiniProgram adapted version of Three.js 项目地址: https://gitcode.com/gh_mirrors/th/threejs-miniprogram 想要在微信小程序中实现令人惊艳的3D效果…

作者头像 李华