Restful API 请注意 HTTP 动词描述操作的幂等性

幂等性是一个老生常谈的话题,但是往往容易被大家忽略
  • 面试时当问到 POST 请求和 GET 请求有什么区别的时候,很多人往往可以巴拉巴拉说一大堆,但是往往容易忘记了在 Restful API 中 GET是幂等的而 POST 不是
  • 而这被大家忽略的一点往往会造成一些很大的影响
  • 比如我们的一个提交订单的API,如果我们不做幂等性检查,就可以导致数据库同时生成两份订单,而这在线上是一个十分致命的问题
  • 为了避免出现幂等性的问题,使用在开发 Restful API 请一定要注意幂等性
动词 描述 是否幂等
GET 获取资源,单个或多个
POST 创建资源
PUT 更新资源,客户端提供完整的资源数据
PATCH 更新资源,客户端提供部分的资源数据
DELETE 删除资源

你可能感兴趣的:(面试,http)