# 测试指南 ## API 已成功启动! 🎉 应用运行在: - **API 地址**: http://localhost:5000 - **Dapr Sidecar**: http://localhost:3500 - **Swagger UI**: http://localhost:5000/swagger ## 测试方式 ### 1. 使用 Swagger UI (推荐,最简单) 在浏览器中打开: **http://localhost:5000/swagger** Swagger UI 提供了可视化的 API 测试界面,您可以: - 查看所有 API 端点 - 直接在浏览器中测试每个 API - 查看请求和响应格式 ### 2. 使用 PowerShell / curl 测试 #### 获取用户列表 ```powershell Invoke-RestMethod -Uri "http://localhost:5000/api/users" -Method Get | ConvertTo-Json -Depth 5 ``` #### 获取单个用户 ```powershell Invoke-RestMethod -Uri "http://localhost:5000/api/users/1" -Method Get | ConvertTo-Json -Depth 5 ``` #### 获取请购单列表 ```powershell Invoke-RestMethod -Uri "http://localhost:5000/api/requisitions" -Method Get | ConvertTo-Json -Depth 5 ``` #### 获取单个请购单 ```powershell Invoke-RestMethod -Uri "http://localhost:5000/api/requisitions/101" -Method Get | ConvertTo-Json -Depth 5 ``` #### 获取菜单列表 ```powershell Invoke-RestMethod -Uri "http://localhost:5000/api/menus" -Method Get | ConvertTo-Json -Depth 5 ``` #### 获取国际化语言清单 ```powershell Invoke-RestMethod -Uri "http://localhost:5000/api/i18n/manifest" -Method Get | ConvertTo-Json -Depth 5 ``` #### 获取英文翻译 ```powershell Invoke-RestMethod -Uri "http://localhost:5000/api/i18n/lang/en-US" -Method Get | ConvertTo-Json -Depth 5 ``` #### 获取中文翻译 ```powershell Invoke-RestMethod -Uri "http://localhost:5000/api/i18n/lang/zh-CN" -Method Get | ConvertTo-Json -Depth 5 ``` #### 创建新请购单 ```powershell $body = @{ requester = "测试用户" department = "IT部门" date = "2026-01-28" status = "Draft" description = "测试请购单" items = @( @{ itemName = "测试物品1" quantity = 2 price = 100.50 }, @{ itemName = "测试物品2" quantity = 5 price = 50.00 } ) } | ConvertTo-Json -Depth 5 Invoke-RestMethod -Uri "http://localhost:5000/api/requisitions" ` -Method Post ` -Body $body ` -ContentType "application/json" | ConvertTo-Json -Depth 5 ``` #### 创建新用户 ```powershell $newUser = @{ name = "测试用户" email = "test@example.com" role = "User" status = "Active" } | ConvertTo-Json Invoke-RestMethod -Uri "http://localhost:5000/api/users" ` -Method Post ` -Body $newUser ` -ContentType "application/json" | ConvertTo-Json -Depth 5 ``` ### 3. 通过 Dapr Sidecar 访问 (使用 Dapr 服务调用) ```powershell # 通过 Dapr 调用 API Invoke-RestMethod -Uri "http://localhost:3500/v1.0/invoke/lingadmin-api/method/api/users" -Method Get | ConvertTo-Json -Depth 5 ``` ### 4. 测试 Dapr 状态管理 ```powershell # 保存状态 $state = @{ key = "test-key" value = "test-value" } Invoke-RestMethod -Uri "http://localhost:3500/v1.0/state/statestore" ` -Method Post ` -Body ($state | ConvertTo-Json) ` -ContentType "application/json" # 读取状态 Invoke-RestMethod -Uri "http://localhost:3500/v1.0/state/statestore/test-key" -Method Get ``` ### 5. 查看 Dapr Dashboard 在新的 PowerShell 窗口运行: ```powershell dapr dashboard ``` 然后访问: http://localhost:8080 Dashboard 可以查看: - 应用状态 - 组件配置 - 日志和追踪 ### 6. 使用 Postman 或其他 API 工具 导入以下 API 端点到 Postman: **基础 URL**: `http://localhost:5000` **端点列表**: - GET `/api/users` - 获取所有用户 - GET `/api/users/{id}` - 获取单个用户 - POST `/api/users` - 创建用户 - PUT `/api/users/{id}` - 更新用户 - DELETE `/api/users/{id}` - 删除用户 - GET `/api/requisitions` - 获取所有请购单 - GET `/api/requisitions/{id}` - 获取单个请购单 - POST `/api/requisitions` - 创建请购单 - PUT `/api/requisitions/{id}` - 更新请购单 - DELETE `/api/requisitions/{id}` - 删除请购单 - GET `/api/i18n/manifest` - 获取语言清单 - GET `/api/i18n/lang/{languageCode}` - 获取翻译 - GET `/api/menus` - 获取菜单 ## 响应格式 所有 API 返回统一格式: ```json { "code": 200, "message": "success", "data": { /* 实际数据 */ } } ``` ## 重启应用 ```powershell # 停止应用 (Ctrl+C) # 重新启动 cd D:\Blank\Repos\LingAdmin\Backend\LingAdmin.API dapr run --app-id lingadmin-api --app-port 5000 --dapr-http-port 3500 --resources-path ".\dapr\components" -- dotnet run ``` ## 故障排查 ### 查看日志 应用日志会显示在运行 dapr run 的终端中 ### 检查数据库 使用 SQL Server Management Studio 或 Azure Data Studio 连接到: - Server: 127.0.0.1,19433 - Database: LingAdminDB - User: sa - Password: Blank@0925 ### 检查 Redis (Dapr 状态存储) ```powershell docker ps | findstr redis ```