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

相关推荐
GetcharZp9 分钟前
5 分钟拥有自己的 S3:RustFS 上手(MinIO 的 Rust 替代,Apache 2.0 可商用)
后端
行百里er1 小时前
Redis 版本演进、新特性与协议那些事儿
redis·后端
Joy T1 小时前
Spring AI 2.0 Agent 进阶:Memory、State 与 Context Engineering 常见技术全景
java·人工智能·后端·spring·agent入门·agent state
打工仔折腾 AI2 小时前
FastAPI 从本机到生产服务器:Nginx+Gunicorn+Uvicorn 完整部署实录
人工智能·后端·python·nginx·fastapi·gunicorn
IT_陈寒2 小时前
Java空指针这次真把我坑惨了
前端·人工智能·后端
moMo3 小时前
LangChain 到 LangGraph: RAG 知识库改造
后端
用户574385305113 小时前
元数据驱动的通用 CRUD 后端框架 (3- createBusiness 工厂:三层装配 + 一行出 REST)
后端
高级程序源3 小时前
django大学生创新创业项目管理系统94923-计算机课程设计、毕业设计
javascript·vue.js·spring boot·后端·python·django·课程设计
Sam_Deep_Thinking3 小时前
new Thread()之后发生了什么?
java·后端·面试·程序员