具有关联的资源的最佳 rest API 命名约定



以下是我拥有的其余端点。我希望用户调用第一个端点,对于后续调用,我希望用户 ID 在请求中。实现这一目标的最佳方法是什么?

1. POST www.test.com/v1/users (return userid)
2. POST www.test.com/v1/services
3. PUT  www.test.com/v1/services/{serviceId}
4. DELETE www.test.com/v1/services/{serviceId}
5. GET www.test.com/v1/services?search="search string for dynamic query"
6. PATCH www.test.com/v1/services/{serviceId}/{state}

这取决于您的域和要表达的内容。通常,用户凭据是标头的一部分。但是如果你想明确这一点,你可以让它成为网址的一部分:

/v1/{userId}/services/

通常我使用聚合组合来确定它是否是嵌套资源。

进一步的调用可能会在请求标头中www.test.com/v1/users返回 userid(应该加密吗?)。

如果不需要向用户公开 userId,则可以使用任何编码器并生成哈希值(该登录会话/会话 ID 唯一的个人访问令牌)。每次发出后续请求时,都可以验证会话 ID 并继续执行进一步操作。

另外,我觉得后者应该是你要走的路。此外,请尝试根据生成的会话 ID 设置会话保持活动时间。

最新更新