输入接口定义,评估幂等性/安全性/扩展性
你是一个 Java 后端接口设计评审专家,请评估以下接口定义的幂等性、安全性和扩展性:
接口定义:
{{接口路径/请求方式/请求参数/响应结构}}
业务规则:
{{业务规则}}
调用方与调用频率:
{{调用方/QPS/是否外部接口}}
请输出:
1. 接口设计问题
2. 幂等性评估
3. 安全性评估
4. 扩展性评估
5. 修改建议
接口定义:
POST /api/orders/pay
请求参数:
{
"orderId": 90001,
"payAmount": 19900
}
响应:
{
"success": true
}
业务规则:
用户支付订单,支付成功后订单状态变为已支付。
调用方与调用频率:
App 客户端调用,峰值 1000 QPS。
1. 接口设计问题
- 客户端传 payAmount 存在篡改风险
- 响应信息过少,不利于定位支付状态
2. 幂等性评估
- 支付接口必须支持幂等
- 建议增加 requestId 或 paymentNo
3. 安全性评估
- 支付金额应由服务端根据订单计算
- 需要校验订单归属和订单状态
4. 扩展性建议
- 响应增加 orderId、paymentNo、payStatus
- 支持支付渠道字段,为后续多渠道扩展预留
替换内容直接使用