一、RESTFul幂等性
1. 幂等性:最主要的特点就是相同情况下,不管执行多少次API,返回的作用效果都是一致的。例如: get/delete操作都可以算是幂等的,因为不管执行多少次操作,都不会产生其他的作用效果。post/put则会因为创建数据导致产生多条数据,会产生脏数据。所以,在设计API的时候,是需要考虑的。
2. 解决方法:专门存在一个表:存储一个uuid,一个请求方,和操作的结果。 当对数据进行操作的时候,就可以先进行判断,这个uuid和请求方的操作是否已经存在,且操作结果是成功的。这样就保证了不会同一个API因为网络延迟,或是用户错误操作而产生多条数据。 ^ ^: 但是会产生一个副作用就是每次客户端发送请求得到后台得到唯一的uuid。这样增加了网络连接代价。uuid产生后台是防止前台恶意的访问后台服务。
3. 在分布式下问题:接口可以因为各种原因,需要重复调用,所以,会出现一个接口同一个逻辑,被调用多次。但是也要保证最终得到的结果是一致的。
RESTFul幂等性
最新推荐文章于 2021-08-24 23:36:57 发布