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 删除,实现资源状态的转移。

相关推荐
codeGoogle11 小时前
自研 IM 还是选择第三方 SDK?企业开发者应该如何权衡?
前端·后端·程序员
DLYSB_14 小时前
API 网关流量洪峰与突发 CC 攻击:我用 Go 写了个“现场物理防御哨兵”,把故障响应压缩到秒级
开发语言·后端·golang·报警灯
markinmarkin14 小时前
Spring 中Bean 的作用域有哪些?
java·后端·spring
橙子家15 小时前
使用方法 ToDictionary() 来优化查询时间复杂度:O(N*M) -> O(1*M)【C# 基础】
后端
IT_陈寒16 小时前
我又被JavaScript的隐式类型转换坑了
前端·人工智能·后端
用户83562907805116 小时前
Python Word 转 PDF 和 PDF 转 Word 指南
后端·python
用户83562907805116 小时前
如何使用 Python 加密和保护 Word 文档
后端·python
他们叫我秃子17 小时前
前端开发转 Go 全栈(五):终于遇到熟人了,Go 的闭包和高阶函数原来这么像 JavaScript
前端·后端·go
SomeB1oody17 小时前
【RustyML入门】2.6. 线性判别分析
开发语言·后端·机器学习·rust·教程
妙码生花17 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(五十七):AI时代对组件封装的新理解、agInput 统一入口,动态表单预备
前端·后端·go