69 lines
2.7 KiB
Markdown
69 lines
2.7 KiB
Markdown
# 回传接口请求详情记录 - 产品需求文档
|
||
|
||
## Overview
|
||
- **Summary**: 在讯通回传接口中添加请求JSON和请求发起IP地址的记录功能,以便更好地追踪和调试接口调用。
|
||
- **Purpose**: 提高系统的可观测性和可调试性,便于排查接口调用问题。
|
||
- **Target Users**: 系统运维人员和开发人员。
|
||
|
||
## Goals
|
||
- 记录回传接口的请求JSON数据
|
||
- 记录请求发起的IP地址
|
||
- 确保记录的信息完整且准确
|
||
- 不影响接口的正常功能和性能
|
||
|
||
## Non-Goals (Out of Scope)
|
||
- 不修改接口的核心业务逻辑
|
||
- 不改变接口的请求和响应格式
|
||
- 不增加额外的外部依赖
|
||
|
||
## Background & Context
|
||
- 现有的讯通回传接口已经实现了基本的功能,但缺乏对请求详情的记录
|
||
- 在生产环境中,当接口调用出现问题时,需要更详细的信息来排查问题
|
||
- 记录请求JSON和IP地址有助于追踪接口调用来源和内容
|
||
|
||
## Functional Requirements
|
||
- **FR-1**: 在SendWebhookToXunTong方法中记录请求的JSON数据
|
||
- **FR-2**: 在SendWebhookToXunTong方法中记录请求发起的IP地址
|
||
- **FR-3**: 确保记录的信息包含在日志中,便于查询和分析
|
||
|
||
## Non-Functional Requirements
|
||
- **NFR-1**: 记录操作不影响接口的响应时间,增加的延迟不超过10ms
|
||
- **NFR-2**: 记录的信息清晰易读,便于分析和调试
|
||
- **NFR-3**: 确保记录的信息不包含敏感数据
|
||
|
||
## Constraints
|
||
- **Technical**: 使用现有的日志系统,不引入新的日志框架
|
||
- **Business**: 不增加系统的存储成本和计算成本
|
||
- **Dependencies**: 依赖现有的HttpClientFactory和日志系统
|
||
|
||
## Assumptions
|
||
- 系统已经配置了合适的日志级别和存储策略
|
||
- 接口调用的JSON数据大小在合理范围内,不会导致日志过大
|
||
|
||
## Acceptance Criteria
|
||
|
||
### AC-1: 记录请求JSON
|
||
- **Given**: 系统调用讯通回传接口
|
||
- **When**: 接口发送请求前
|
||
- **Then**: 系统记录请求的JSON数据到日志中
|
||
- **Verification**: `programmatic`
|
||
- **Notes**: 日志中应包含完整的请求JSON数据
|
||
|
||
### AC-2: 记录请求IP地址
|
||
- **Given**: 系统调用讯通回传接口
|
||
- **When**: 接口发送请求前
|
||
- **Then**: 系统记录请求发起的IP地址到日志中
|
||
- **Verification**: `programmatic`
|
||
- **Notes**: 日志中应包含准确的IP地址信息
|
||
|
||
### AC-3: 不影响接口功能
|
||
- **Given**: 系统调用讯通回传接口
|
||
- **When**: 接口执行过程中
|
||
- **Then**: 记录操作不影响接口的正常功能和响应时间
|
||
- **Verification**: `programmatic`
|
||
- **Notes**: 接口应能正常完成请求,响应时间增加不超过10ms
|
||
|
||
## Open Questions
|
||
- [ ] 系统是否需要记录响应数据?
|
||
- [ ] 日志级别应设置为INFO还是DEBUG?
|