# API调用问题完整解决方案 ## 问题分析 你的API调用失败主要有以下原因: 1. **JWT Token过期** - 从你的网络请求截图看,token可能已过期 2. **积分不足** - 用户可用积分不够 3. **应用启动问题** - Spring Boot应用没有正常启动 ## 解决方案 ### 1. 重新启动应用 ```bash # 停止所有Java进程 taskkill /F /IM java.exe # 重新启动应用 .\mvnw.cmd spring-boot:run ``` ### 2. 生成新的JWT Token 应用启动后,访问: ``` http://localhost:8080/api/test/generate-token ``` 这将生成一个新的JWT token用于API调用。 ### 3. 测试API调用 使用新生成的token测试API: ```bash # 测试基本认证 curl -X GET "http://localhost:8080/api/test/test-auth" \ -H "Authorization: Bearer YOUR_NEW_TOKEN" # 测试图生视频API curl -X GET "http://localhost:8080/api/image-to-video/tasks" \ -H "Authorization: Bearer YOUR_NEW_TOKEN" ``` ### 4. 用户积分状态 当前admin用户积分状态: - 总积分:500 - 冻结积分:170 - 可用积分:330 足够进行API调用(图生视频需要25积分)。 ## 常见问题排查 ### 如果应用无法启动: 1. 检查端口是否被占用: ```bash netstat -ano | findstr :8080 ``` 2. 检查Java进程: ```bash Get-Process | Where-Object {$_.ProcessName -like "*java*"} ``` 3. 查看应用日志: ```bash Get-Content startup.log -Tail 50 ``` ### 如果API调用仍然失败: 1. 检查JWT token是否有效 2. 检查用户积分是否足够 3. 检查文件上传限制(最大10MB) 4. 检查文件类型(JPG、PNG、WEBP) ## 测试步骤 1. 启动应用 2. 生成新token 3. 使用token测试API 4. 如果成功,说明问题已解决 5. 如果失败,检查具体错误信息 ## 联系支持 如果问题仍然存在,请提供: - 应用启动日志 - API调用的具体错误信息 - 浏览器开发者工具的网络标签截图