RESTful 是什么

一、核心定义

REST :全称 Representational State Transfer ,表述性状态转移,是一种软件架构设计风格 / 规范 ,不是协议、不是标准。RESTful :指遵循 REST 设计规范开发的接口 / 服务,日常说的「RESTful 接口」就是符合这套规则的前后端 API。

主要用于:前后端分离、微服务、第三方接口调用(手机 App、小程序、前端网页调后端接口)。


二、核心设计思想

  1. 资源为核心 所有东西都抽象为资源(用户、订单、商品、文章),每个资源有唯一 URL。
  2. 无状态服务器不存储客户端会话信息,每次请求带完整参数 / 令牌(Token),服务易扩容、集群部署。
  3. 用 HTTP 原生方法表达操作意图 不只用 POST 混用所有操作,严格区分:
  • GET:查询、获取数据(安全、幂等)
  • POST:新增资源
  • PUT:全量更新 / 修改资源
  • PATCH:局部更新
  • DELETE:删除资源

三、RESTful 接口规范示例(对比传统接口)

❶ 传统接口(不规范)

plaintext

复制代码
获取用户:/getUser?userId=1
新增用户:/addUser
修改用户:/updateUser
删除用户:/delUser?userId=1

❷ RESTful 规范写法

plaintext

复制代码
# 用户资源
GET    /users/1      # 查询id=1的用户
POST   /users        # 新增用户
PUT    /users/1      # 修改id=1的用户
DELETE /users/1      # 删除id=1的用户
  • URL 用名词复数(users、orders、goods)
  • 动作交给 HTTP 方法,URL 只写资源

四、配套规范

  1. 返回格式统一:统一用 JSON
  2. 状态码语义化
    • 200 成功、201 创建成功
    • 400 参数错误、401 未登录、403 无权限、404 资源不存在
    • 500 服务异常
  3. 版本控制/api/v1/users 方便迭代兼容
  4. 过滤 / 分页 / 排序 通过 URL 参数:/users?page=1&size=10&sort=createTime

五、优缺点

优点

  • 结构清晰、语义直观,前后端协作简单
  • 适配前后端分离、微服务、跨端调用
  • 无状态,天然适合分布式、负载均衡

缺点

  • 部分场景语义别扭(复杂业务操作)
  • 严格 REST 开发略繁琐,很多公司会弱化 REST(只保留风格,不完全严格)

六、通俗一句话总结

RESTful 就是利用 HTTP 原生请求方式,以「资源」为中心,统一、规范、简洁地设计后端 API 接口的一套开发风格,是目前互联网项目、金融系统、微服务最主流的接口设计方式。

相关推荐
阳光是sunny8 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
灯澜忆梦8 小时前
GO_并发编程---定时器
开发语言·后端·golang
阳光是sunny8 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
皮皮林5519 小时前
开源实力派,给本地 AI 装上深度调研能力,一张 3090 跑到 95.7 分!
后端
努力的小雨9 小时前
把 Windows 桌面图标做成一个会自己运转的小世界
后端
武子康10 小时前
Search Console Platform Properties 扩大 SEO 资产边界:从 Page Ranking 到 Topic Coverage(5 类误读边界 + 3 表数据层设计)
前端·人工智能·后端
腾渊信息科技公司11 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
IT_陈寒12 小时前
Vue这个特性差点让我加班到凌晨,谁懂啊
前端·人工智能·后端
段一凡-华北理工大学12 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
码事漫谈12 小时前
1999年的电商前夜和2026年的AI前夜 历史押韵但从不重复
后端