@dangao/bun-server 1.8.1 → 1.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/api.md +194 -81
- package/docs/extensions.md +53 -0
- package/docs/guide.md +243 -1
- package/docs/microservice-config-center.md +73 -74
- package/docs/microservice-nacos.md +89 -90
- package/docs/microservice-service-registry.md +85 -86
- package/docs/microservice.md +142 -137
- package/docs/request-lifecycle.md +45 -4
- package/docs/symbol-interface-pattern.md +106 -106
- package/docs/zh/api.md +458 -18
- package/docs/zh/extensions.md +53 -0
- package/docs/zh/guide.md +251 -4
- package/docs/zh/microservice-config-center.md +258 -0
- package/docs/zh/microservice-nacos.md +346 -0
- package/docs/zh/microservice-service-registry.md +306 -0
- package/docs/zh/microservice.md +680 -0
- package/docs/zh/request-lifecycle.md +43 -5
- package/package.json +1 -1
|
@@ -20,6 +20,10 @@ HTTP Request
|
|
|
20
20
|
└─────────────────────────────────────┘
|
|
21
21
|
↓
|
|
22
22
|
┌─────────────────────────────────────┐
|
|
23
|
+
│ 守卫 │
|
|
24
|
+
└─────────────────────────────────────┘
|
|
25
|
+
↓
|
|
26
|
+
┌─────────────────────────────────────┐
|
|
23
27
|
│ 拦截器(前置) │
|
|
24
28
|
└─────────────────────────────────────┘
|
|
25
29
|
↓
|
|
@@ -167,7 +171,39 @@ class UserController {
|
|
|
167
171
|
}
|
|
168
172
|
```
|
|
169
173
|
|
|
170
|
-
## 4.
|
|
174
|
+
## 4. 守卫
|
|
175
|
+
|
|
176
|
+
守卫在路由匹配之后、拦截器之前执行,提供细粒度的访问控制。它们可以访问 `ExecutionContext`,提供关于当前请求的丰富信息。
|
|
177
|
+
|
|
178
|
+
### 执行顺序
|
|
179
|
+
|
|
180
|
+
1. **全局守卫** - 通过 `SecurityModule.forRoot({ globalGuards: [...] })` 注册
|
|
181
|
+
2. **控制器守卫** - 通过 `@UseGuards()` 应用于控制器类
|
|
182
|
+
3. **方法守卫** - 通过 `@UseGuards()` 应用于方法
|
|
183
|
+
|
|
184
|
+
### 内置守卫
|
|
185
|
+
|
|
186
|
+
- `AuthGuard`:要求认证
|
|
187
|
+
- `OptionalAuthGuard`:可选认证
|
|
188
|
+
- `RolesGuard`:基于角色的授权(与 `@Roles()` 装饰器一起使用)
|
|
189
|
+
|
|
190
|
+
### 示例
|
|
191
|
+
|
|
192
|
+
```typescript
|
|
193
|
+
@Controller('/api/admin')
|
|
194
|
+
@UseGuards(AuthGuard, RolesGuard)
|
|
195
|
+
class AdminController {
|
|
196
|
+
@GET('/dashboard')
|
|
197
|
+
@Roles('admin')
|
|
198
|
+
public dashboard() {
|
|
199
|
+
return { message: '管理员仪表板' };
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
详细文档请参阅 [守卫](./guards.md)。
|
|
205
|
+
|
|
206
|
+
## 5. 拦截器(前置处理)
|
|
171
207
|
|
|
172
208
|
拦截器在控制器方法之前和之后运行。前置拦截器按顺序执行:
|
|
173
209
|
|
|
@@ -200,7 +236,7 @@ class ApiController {}
|
|
|
200
236
|
- 响应转换
|
|
201
237
|
- 性能监控
|
|
202
238
|
|
|
203
|
-
##
|
|
239
|
+
## 6. 参数绑定和验证
|
|
204
240
|
|
|
205
241
|
### 参数装饰器
|
|
206
242
|
|
|
@@ -208,9 +244,11 @@ class ApiController {}
|
|
|
208
244
|
|--------|------|------|
|
|
209
245
|
| `@Param(name)` | URL 路径参数 | `/users/:id` → `@Param('id')` |
|
|
210
246
|
| `@Query(name)` | 查询字符串 | `?page=1` → `@Query('page')` |
|
|
247
|
+
| `@QueryMap()` | 所有查询参数 | `?page=1&limit=10` → `@QueryMap()` 返回 `{ page: '1', limit: '10' }` |
|
|
211
248
|
| `@Body()` | 请求体 | JSON 请求体 |
|
|
212
249
|
| `@Body(name)` | 请求体属性 | `body.name` → `@Body('name')` |
|
|
213
250
|
| `@Header(name)` | 请求头 | `@Header('Authorization')` |
|
|
251
|
+
| `@HeaderMap()` | 所有请求头 | `@HeaderMap()` 返回所有请求头作为对象 |
|
|
214
252
|
| `@Context()` | 完整上下文 | 请求上下文对象 |
|
|
215
253
|
| `@Session()` | 会话数据 | 会话对象 |
|
|
216
254
|
|
|
@@ -262,7 +300,7 @@ public createUser(
|
|
|
262
300
|
}
|
|
263
301
|
```
|
|
264
302
|
|
|
265
|
-
##
|
|
303
|
+
## 7. 控制器方法执行
|
|
266
304
|
|
|
267
305
|
验证通过后,使用已解析的依赖和绑定的参数调用控制器方法。
|
|
268
306
|
|
|
@@ -294,7 +332,7 @@ class UserController {
|
|
|
294
332
|
- **void** - 空响应(204)
|
|
295
333
|
- **Promise** - 异步操作
|
|
296
334
|
|
|
297
|
-
##
|
|
335
|
+
## 8. 拦截器(后置处理)
|
|
298
336
|
|
|
299
337
|
处理器执行后,后置拦截器按相反顺序运行:
|
|
300
338
|
|
|
@@ -318,7 +356,7 @@ class TransformInterceptor implements Interceptor {
|
|
|
318
356
|
}
|
|
319
357
|
```
|
|
320
358
|
|
|
321
|
-
##
|
|
359
|
+
## 9. 异常过滤器
|
|
322
360
|
|
|
323
361
|
如果在请求生命周期中抛出任何异常,它会被异常过滤器捕获。
|
|
324
362
|
|