- frontend-architecture-refactor: 拆分 hooks/组件、类型筛选器动态化 - http-checker-quality-hardening: ReDoS 防护、failure 格式修正、测试补全
28 lines
1.1 KiB
Markdown
28 lines
1.1 KiB
Markdown
## ADDED Requirements
|
||
|
||
### Requirement: Meta 信息 API
|
||
系统 SHALL 提供 `GET /api/meta` 端点,返回系统运行时元数据。
|
||
|
||
#### Scenario: 获取 checker 类型列表
|
||
- **WHEN** 客户端请求 `GET /api/meta`
|
||
- **THEN** 系统 SHALL 返回 JSON `{ checkerTypes: string[] }`,包含所有已注册的 checker 类型标识符(如 `["http", "command"]`)
|
||
|
||
#### Scenario: 类型列表来源
|
||
- **WHEN** 系统启动并注册了 checker
|
||
- **THEN** `/api/meta` 返回的 `checkerTypes` SHALL 与 `CheckerRegistry.supportedTypes` 完全一致
|
||
|
||
#### Scenario: 仅允许 GET/HEAD 方法
|
||
- **WHEN** 客户端使用 POST/PUT/DELETE 等方法请求 `/api/meta`
|
||
- **THEN** 系统 SHALL 返回 405 状态码
|
||
|
||
#### Scenario: HEAD 请求返回空体
|
||
- **WHEN** 客户端使用 HEAD 方法请求 `/api/meta`
|
||
- **THEN** 系统 SHALL 返回 200 状态码和正确的 Content-Type header,body 为空
|
||
|
||
### Requirement: MetaResponse 共享类型
|
||
系统 SHALL 在 `src/shared/api.ts` 中定义 `MetaResponse` 类型。
|
||
|
||
#### Scenario: MetaResponse 类型定义
|
||
- **WHEN** 前后端引用 `MetaResponse` 类型
|
||
- **THEN** 该类型 SHALL 包含 `checkerTypes: string[]` 字段
|