8422645625
Task 6.2 - 报告导出功能: - ReportExportService: 报告导出服务 - ExportToMarkdown: Markdown 格式导出 - ExportToHtml: HTML 格式导出(可打印为 PDF) - ExportToPdf: PDF 导出(HTML 包装) Task 10.1-10.3 - 文档和打包: - README.md: 项目主文档 - docs/USAGE.md: 使用指南(CLI 命令、API、Web 界面) - docs/DEVELOPMENT.md: 开发指南(项目结构、构建、测试、部署) - docs/API.md: API 参考文档(端点、认证、错误码) - Dockerfile: Web API Docker 镜像 - docker-compose.yml: Docker Compose 配置 - .dockerignore: Docker 忽略文件 - NuGet 打包配置 (CodePlay.Core.csproj) 测试:42 个 (41 通过,1 跳过) ✅ 新增文件: - CodePlay.Core/Services/ReportExportService.cs - README.md - docs/USAGE.md - docs/DEVELOPMENT.md - docs/API.md - Dockerfile - docker-compose.yml - .dockerignore Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
1.8 KiB
1.8 KiB
CodePlay API 参考文档
基础 URL
开发环境:http://localhost:5000/api
生产环境:https://your-domain.com/api
认证
所有 API 端点(除 /api/auth/login 外)都需要 JWT Token 认证。
获取 Token
POST /api/auth/login
Content-Type: application/json
{
"username": "user",
"password": "password"
}
响应:
{
"token": "eyJhbGc...",
"username": "user",
"expiresIn": 3600
}
使用 Token
Authorization: Bearer eyJhbGc...
API 端点
转换 (Conversion)
POST /conversion/convert
转换代码
请求体:
{
"sourceCode": "string",
"sourceLanguage": "CSharp",
"targetLanguage": "Java",
"validationRounds": 2,
"options": {
"keepComments": true,
"keepDocStrings": true
}
}
响应:
{
"success": true,
"transformedCode": "string",
"report": {
"linesConverted": 100,
"classesConverted": 5
}
}
报告 (Report)
GET /report
获取所有报告
GET /report/{id}
获取指定报告
DELETE /report/{id}
删除报告
GET /report/stats
获取统计信息
项目 (Project)
GET /project
获取项目列表
POST /project
创建项目
GET /project/{id}
获取项目详情
PUT /project/{id}
更新项目
DELETE /project/{id}
删除项目
认证 (Auth)
POST /auth/login
用户登录
POST /auth/refresh
刷新 Token
GET /auth/me
获取当前用户信息
错误码
| 状态码 | 说明 |
|---|---|
| 200 | 成功 |
| 400 | 请求参数错误 |
| 401 | 未授权 |
| 403 | 禁止访问 |
| 404 | 资源不存在 |
| 429 | 请求过于频繁 |
| 500 | 服务器内部错误 |
限流
- 限制:60 请求/分钟/IP
- 超出返回 429 状态码
- 响应头包含 Retry-After