2
0
yourname 8 месяцев назад
Родитель
Сommit
4751e7d17a
1 измененных файлов с 69 добавлено и 1 удалено
  1. 69 1
      .roorules

+ 69 - 1
.roorules

@@ -44,4 +44,72 @@ src/
 
 4. **数据库规范**
    - 使用迁移脚本管理表结构变更
-   - 实体类与数据库表严格映射
+   - 实体类与数据库表严格映射
+
+5. **Hono OpenAPI规范**
+   - 使用`@hono/zod-openapi`的`createRoute`创建路由
+   - 每个路由必须包含:
+     - 请求方法(method)和路径(path)
+     - 请求体验证(使用Zod模式):
+       ```typescript
+       request: {
+         body: {
+           content: {
+             'application/json': {
+               schema: YourZodSchema
+             }
+           }
+         }
+       }
+       ```
+     - 响应定义(必须包含200/400/500等状态码):
+       ```typescript
+       responses: {
+         200: {
+           description: '成功响应描述',
+           content: {
+             'application/json': {
+               schema: SuccessSchema
+             }
+           }
+         },
+         400: {
+           description: '客户端错误',
+           content: {
+             'application/json': {
+               schema: ErrorSchema
+             }
+           }
+         }
+       }
+       ```
+   - 错误响应必须使用统一格式:
+     ```typescript
+     {
+       code: number,  // HTTP状态码
+       message: string  // 错误描述
+     }
+     ```
+   - 实际响应必须与OpenAPI定义完全一致
+   - 使用中间件统一处理错误格式
+   - 示例完整路由定义:
+     ```typescript
+     const route = createRoute({
+       method: 'post',
+       path: '/example',
+100|        request: {
+101|          body: {
+102|            content: {
+103|              'application/json': {
+104|                schema: ExampleSchema
+105|              }
+106|            }
+107|          }
+108|        },
+109|        responses: {
+110|          200: { /*...*/ },
+111|          400: { /*...*/ },
+112|          500: { /*...*/ }
+113|        }
+114|      });
+115|      ```