# AI面试接口测试用例 ## 基础信息 - 基础URL: `http://localhost:8080` - 所有接口都需要在header中携带 `Content-Type: application/json` ## 1. 测试连接 ### 请求信息 - 接口:`/ai/interview/test` - 方法:`GET` - Headers:无特殊要求 ### 预期响应 ```json { "code": 200, "msg": "连接成功" } ``` ## 2. 开始面试 ### 请求信息 - 接口:`/ai/interview/start` - 方法:`POST` - Headers: - `sessionId`:可选,不传则自动生成 ### 预期响应 ```json { "code": 200, "msg": "面试开始的初始化消息", "sessionId": "1234567890" } ``` ## 3. 建立SSE连接 ### 请求信息 - 接口:`/ai/interview/stream` - 方法:`GET` - 参数: - `sessionId`:必填,从start接口获取的sessionId ### 预期响应 Server-Sent Events流式响应,包含以下类型的消息: ```json // 连接成功消息 { "type": "connected", "sessionId": "1234567890" } // 消息开始 { "type": "start" } // 消息内容 { "type": "message", "content": "消息内容片段" } // 消息结束 { "type": "done" } ``` ## 4. 发送消息 ### 请求信息 - 接口:`/ai/interview/chat` - 方法:`POST` - Headers: - `sessionId`:必填,从start接口获取的sessionId - Body: ```json { "message": "你好,我想应聘Java开发工程师职位" } ``` ### 预期响应 如果使用SSE: ```json { "code": 200, "msg": "消息正在处理中" } ``` 如果不使用SSE: ```json { "code": 200, "msg": "AI的回复内容" } ``` ## 5. 结束面试 ### 请求信息 - 接口:`/ai/interview/end` - 方法:`POST` - Headers: - `sessionId`:必填,从start接口获取的sessionId ### 预期响应 ```json { "code": 200, "msg": "面试总结内容" } ``` ## 错误响应示例 ### 1. 会话不存在 ```json { "code": 404, "msg": "面试会话不存在,请重新开始面试" } ``` ### 2. 消息内容为空 ```json { "code": 400, "msg": "消息内容不能为空" } ``` ### 3. 服务器错误 ```json { "code": 500, "msg": "错误详细信息" } ``` ## 测试流程建议 1. 先调用test接口测试连接是否正常 2. 调用start接口开始面试,获取sessionId 3. 使用获取的sessionId建立SSE连接 4. 使用chat接口进行多轮对话测试 5. 最后调用end接口结束面试 ## 注意事项 1. SSE连接建立后,chat接口的响应会通过SSE流式返回 2. 所有接口调用时注意保存和复用sessionId 3. 建议在Postman或ApiPost中创建环境变量存储sessionId,方便测试 4. 错误处理要测试所有可能的错误场景