main: 增强会话功能,支持归档与消息检索
- 添加会话归档接口及相关服务逻辑,并确保幂等性 - 实现单条消息获取接口,校验消息所属会话 - 增加 SSE 增量推送与实时消息订阅功能 - 提供相关的测试用例覆盖新功能 - 更新接口文档,完善 OpenAPI 规范,新增多项示例
This commit is contained in:
@@ -111,6 +111,124 @@ paths:
|
||||
$ref: '#/components/schemas/Error'
|
||||
"401":
|
||||
description: 未授权
|
||||
/sessions/{session_id}/messages/{message_id}:
|
||||
get:
|
||||
tags: [ChatSession]
|
||||
summary: 获取单条消息(校验 session_id)
|
||||
security:
|
||||
- bearerAuth: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: session_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
format: uuid
|
||||
- in: path
|
||||
name: message_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
format: uuid
|
||||
responses:
|
||||
"200":
|
||||
description: 消息详情
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/MessageResource'
|
||||
"401":
|
||||
description: 未授权
|
||||
"404":
|
||||
description: 未找到或不属于该会话
|
||||
/sessions/{session_id}/archive:
|
||||
post:
|
||||
tags: [ChatSession]
|
||||
summary: 归档会话(设为 CLOSED,幂等)
|
||||
security:
|
||||
- bearerAuth: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: session_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
format: uuid
|
||||
responses:
|
||||
"200":
|
||||
description: 归档成功(或已归档)
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ChatSession'
|
||||
"401":
|
||||
description: 未授权
|
||||
"404":
|
||||
description: 未找到
|
||||
/sessions/{session_id}/sse:
|
||||
get:
|
||||
tags: [ChatSession]
|
||||
summary: SSE 增量推送(backlog + Redis 实时)
|
||||
security:
|
||||
- bearerAuth: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: session_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
format: uuid
|
||||
- in: query
|
||||
name: after_seq
|
||||
schema:
|
||||
type: integer
|
||||
default: 0
|
||||
description: backlog 起始 seq(若有 Last-Event-ID 以其为准)
|
||||
- in: query
|
||||
name: limit
|
||||
schema:
|
||||
type: integer
|
||||
default: 200
|
||||
maximum: 500
|
||||
responses:
|
||||
"200":
|
||||
description: text/event-stream SSE 流
|
||||
content:
|
||||
text/event-stream:
|
||||
schema:
|
||||
type: string
|
||||
example: |
|
||||
id: 1
|
||||
event: message
|
||||
data: {"message_id":"...","seq":1}
|
||||
"401":
|
||||
description: 未授权
|
||||
"404":
|
||||
description: 未找到
|
||||
/sessions/{session_id}:
|
||||
get:
|
||||
tags: [ChatSession]
|
||||
summary: 获取会话详情
|
||||
security:
|
||||
- bearerAuth: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: session_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
format: uuid
|
||||
responses:
|
||||
"200":
|
||||
description: 会话详情
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ChatSession'
|
||||
"401":
|
||||
description: 未授权
|
||||
"404":
|
||||
description: 未找到
|
||||
get:
|
||||
tags: [ChatSession]
|
||||
summary: 按 seq 增量查询消息
|
||||
|
||||
Reference in New Issue
Block a user