上下文 :-
我正在春季启动中验证我的休息 API。每个 API 调用中都会发送一个事务 ID。我正在编写一个自定义注释,以确保每次发送的交易 ID 都是唯一的。下面是请求 api 正文的示例:-
{
"timestamp": "2020-05-12T04:15:28.318Z",
"txnid": "acscscs-4a18-11e8-96ff-05sdsadd",
"cust_id": "abc@gmail.com"
}
如何确保txnid
交易 ID 不重复,即如果我两次使用相同的交易 ID,那么应该会抛出错误?
我计划将每个交易 ID 保存到表中的客户 ID 映射中,查询表以检查交易 ID 是否唯一。这是一种有效的方法吗?
或者有没有其他有效/更简单的方法来实现相同的目标?
您的解决方案很好,但缺点是数据库可能不是txnid
的事实来源。假设存在txnid
保存在 api 中,但保存在数据库中失败。 我建议以下解决方案:
动态查询 API 以获取txnid
(假设:如果txnid
存在或HTTP.NOT_FOUND
400,则提供响应HTTP.OK 200
API 的 api(。在这种情况下,API 将是唯一的事实来源。