REST接口/RPC
REST接口(RESTful API)是一种基于HTTP协议的API设计风格,遵循REST(Representational State Transfer表述性状态转移)架构原则,用于在不同系统之间进行数据交互。它具有简洁、灵活、无状态等特点,广泛应用于Web服务和移动应用开发中。
核心概念
-
资源导向
- 将数据或服务抽象为资源(Resource),每个资源用URL唯一标识(如:
https://api.example.com/users/123
)。
- 将数据或服务抽象为资源(Resource),每个资源用URL唯一标识(如:
-
统一接口
- 使用标准HTTP方法操作资源:
GET
:获取资源POST
:创建资源PUT
:更新资源DELETE
:删除资源PATCH
:部分更新资源
- 使用标准HTTP方法操作资源:
-
无状态
- 每个请求独立,服务器不存储客户端状态(如登录信息需通过Token传递)。
-
分层系统
- 客户端无需关心数据来源(如直接访问数据库或经过中间层)。
REST vs. RPC
特性 | REST | RPC(如gRPC) |
---|---|---|
接口风格 | 资源导向(URL + HTTP方法) | 方法导向(类似函数调用) |
数据格式 | 通常使用JSON/XML | 通常使用Protocol Buffers |
URI设计 | /users/{id} | /UserService/GetUser |
状态管理 | 无状态 | 可能有状态 |
典型场景 | 公开API、Web服务 | 内部微服务通信 |