sno*_*ndy 2 api rest idempotent
这是在应用程序中创建资源的经典RESTful方法:
# This creates user. Client is responsible to create UUID, which is simple
PUT /users/CLIENT_GENERATED_UUID
# Access user by uuid
GET /users/UUID
Run Code Online (Sandbox Code Playgroud)
当我们触及数据存储性能领域时,事实证明随机生成的UUID由于数据局部性等多种原因而无法很好地发挥作用.
服务器生成的ID有利于提高性能,但它们并不真正与REST匹配:
有人能在这个架构问题上给我一个暗示吗?
小智 5
使用资源创建并不意味着是幂等的.如果服务器分配ID,则必须为要创建的每个资源选择不同的ID.这样的操作不能是幂等的,重复它必须创建不同的资源.
像对象一样使用POSTcollecton资源
POST /users
Run Code Online (Sandbox Code Playgroud)
如果服务器分配ID,则完全是RESTful.可以重复此请求,它将创建不同的资源.
PUT如果问题域允许客户端控制ID,则使用像创建资源这样的幂等操作才有意义.我认为对大多数域名来说并非如此.
我的建议:使用POST并让服务器分配ID.
| 归档时间: |
|
| 查看次数: |
1454 次 |
| 最近记录: |