RESTful 中的状态转移方法

RESTful 核心:资源 + HTTP 方法 = 状态转移

通过不同 HTTP动词对资源进行操作,从而实现资源状态的变化
核心名词解释:幂等性

同一个请求执行一次和执行多次,对服务器资源产生的影响完全相同,不会因为重复请求导致数据异常、资源重复创建/修改。

简单理解:重复调用,结果不变,不会出错


一、常用状态转移方法(HTTP 方法)

  1. GET
  • 查询、获取资源

  • 只读,不修改资源状态

  • 幂等、安全

  1. POST
  • 新建资源(提交数据)

  • 通常用于创建子资源

  • 不幂等

  1. PUT
  • 完整更新资源(整体替换)

  • 也可用于创建(客户端已知 URI)

  • 幂等

  1. PATCH
  • 部分更新资源(只改部分字段)

  • 比 PUT 更轻量

  1. DELETE
  • 删除资源

  • 幂等


二、标准 RESTful 对应(CRUD)

  • C(Create) → POST

  • R(Read) → GET

  • U(Update) → PUT / PATCH

  • D(Delete) → DELETE


三、关键概念

  • 资源(Resource):URI 定位的实体(用户、订单、文章)

  • 表征(Representation):资源的表现形式(JSON/XML)

  • 状态转移(State Transfer)

    通过 HTTP 方法让资源从一种状态变为另一种状态

    例:未存在 → 创建;存在 → 修改;存在 → 删除


四、一句话记忆

用 GET 查询、POST 新增、PUT 全量改、PATCH 部分改、DELETE 删除,实现资源状态的转移。

相关推荐
明月_清风14 分钟前
GitHub Actions 从入门到实战:一文搞懂 CI/CD 自动化
后端·ci/cd·github
Patrick_Wilson1 小时前
RPC 与 REST 的本质区别看这一篇就够了:别再只看 URL 里有没有动词
http·rpc·restful
foggyprojects1 小时前
AI 问数也要做行级权限:让 Codex 给销售查询加上权限
后端
千里码aicood2 小时前
flask基于数字人的储粮知识问答原型系统研究与实现
后端·python·flask
考虑考虑2 小时前
arthas使用
java·运维·后端
李昊哲小课2 小时前
Spring Boot 4 旅游主题实战教程 阶段三:数据持久化
spring boot·后端·mybatis·旅游
AI 编程助手GPT2 小时前
Bun 1.4 正式发布:从 Zig 改写为 Rust,内置浏览器、图片处理和并行测试
开发语言·人工智能·后端·ai·chatgpt
IT_陈寒3 小时前
Redis大KEY删除慢到手抖,这几个方法让我少熬一夜
前端·人工智能·后端
步行cgn3 小时前
传统 SSM 与 Spring Boot 开发对比:从配置地狱到约定优于配置
java·spring boot·后端