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>
130 lines
1.8 KiB
Markdown
130 lines
1.8 KiB
Markdown
# CodePlay API 参考文档
|
|
|
|
## 基础 URL
|
|
```
|
|
开发环境:http://localhost:5000/api
|
|
生产环境:https://your-domain.com/api
|
|
```
|
|
|
|
## 认证
|
|
|
|
所有 API 端点(除 /api/auth/login 外)都需要 JWT Token 认证。
|
|
|
|
### 获取 Token
|
|
```http
|
|
POST /api/auth/login
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"username": "user",
|
|
"password": "password"
|
|
}
|
|
```
|
|
|
|
响应:
|
|
```json
|
|
{
|
|
"token": "eyJhbGc...",
|
|
"username": "user",
|
|
"expiresIn": 3600
|
|
}
|
|
```
|
|
|
|
### 使用 Token
|
|
```http
|
|
Authorization: Bearer eyJhbGc...
|
|
```
|
|
|
|
## API 端点
|
|
|
|
### 转换 (Conversion)
|
|
|
|
#### POST /conversion/convert
|
|
转换代码
|
|
|
|
**请求体**:
|
|
```json
|
|
{
|
|
"sourceCode": "string",
|
|
"sourceLanguage": "CSharp",
|
|
"targetLanguage": "Java",
|
|
"validationRounds": 2,
|
|
"options": {
|
|
"keepComments": true,
|
|
"keepDocStrings": true
|
|
}
|
|
}
|
|
```
|
|
|
|
**响应**:
|
|
```json
|
|
{
|
|
"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
|