大佬教程收集整理的这篇文章主要介绍了创建无冲突的 RESTful 操作,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的 API 来处理房间内的物理座位分配。
每个座位都是以下资源:
{
"person_name": "jermIE" // Person sitTing in the seat
"available": false // Seat is currently allocated
"seat_ID": 1111 // Unique seat IDentifIEr
}
GET /API/seats
。GET /API/seats/<seat_ID>
POST /API/seat
。deletE /API/seat/<seat_ID>
。如何创建一个 REST API 为用户分配一个空座位?
我可以使用 GET /API/seats?available=True&count=1
返回一个空座位 (1234
),并将其分配 - PUT /API/seats/1234
,正文为 {"available": false,"person_name": RobbIE}
。
这种方法的问题是我有大量的请求。两个人同时搜索空座位,会导致同一个座位被分配两次。
我可以尝试 POST /API/seats/1234/assign
并返回 http 409 CONFliCT
(如果它已经分配),但这会导致许多冲突的发生,很快就会有足够多的客户端相互竞争,一遍又一遍地尝试。
另一个选项是使用 POST /API/assignSeat
。然而,这种方法不是 RESTful。
这是一个非常简单的问题,我可能不是第一个遇到它,但是“HATEOAS”和我在此过程中遇到的许多其他术语实际上并没有给出解决方案。这对我和其他人的理解非常重要。
我是否可以在遵循 REST 原则的同时创建这样的 API?
以上是大佬教程为你收集整理的创建无冲突的 RESTful 操作全部内容,希望文章能够帮你解决创建无冲突的 RESTful 操作所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。