我喜欢向量化/批量化请求的想法,类似于StackExchange API offers并希望为我自己的API实现某些内容,即GET /users/1;2;3;4;5
将返回ID为1到5的所选用户资源。
我认为这在读取数据时相当简单,但对于子资源的POST请求会产生什么样的预期行为?
POST /1;2;3;4;5/subresource
这是不是意味着:
答案 0 :(得分:0)
我对这种方法有几个担忧。首先,资源应该通过某些资源定位器(URI)唯一地寻址。然而,使用您的方法以某种方式绕过IMO的这一要求。这种方法也可能在以后导致其他问题,即大量框架do not allow URIs that exceed a certain character size。
此外,资源应使用UUID而不是连续的资源ID。这首先会阻止guessing attacks,并且还可以防止在移动资源或插入资源之间出现逻辑问题。
POST方法请求目标资源处理 根据资源的请求包含在中的表示 拥有特定的语义。
关于HTTP POST
操作,specification明确指出通过POST
接收的任何主体的语义由服务开发人员决定。因此,基本上允许您在POST请求中执行任何操作。由于语义完全取决于您,您必须明确记录行为。不记录应用的逻辑将为服务用户留下一个大的灰色区域。