# REST 手册
`rs-zero` 的 `rest` feature 提供 REST 服务常用边界:统一响应、REST 错误、服务配置和默认 middleware 组合点。
## 核心类型
- `ApiResponse<T>`:统一 JSON 响应。
- `PageResponse<T>`:分页响应。
- `RestConfig`:REST 服务配置。
- `RestServer`:封装 axum router 的服务启动 helper。
## 最小示例
```rust
use axum::{Router, routing::get};
use rs_zero::rest::{ApiResponse, RestConfig, RestServer};
}));
let addr = "127.0.0.1:8080".parse().unwrap();
RestServer::new(RestConfig::default(), router).serve(addr).await.unwrap();
```
完整示例见 `examples/rest-hello/src/main.rs`。
## 使用建议
- 业务 handler 返回统一响应,避免每个模块自定义错误格式。
- public path、JWT、timeout、request body limit 和 request-id 应在服务边界配置。
- 不要把 `axum::Router` 封装成不可扩展结构;rs-zero 保留 axum 原生扩展点。
## 相关测试
`cargo test --test rest_integration`