以下是我拥有的其余端点。我希望用户呼叫第一个端点,而对于后续呼叫,我希望用户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}
答案 0 :(得分:1)
这取决于您的域和要表达的内容。通常,用户凭据是标头的一部分。但是,如果您想使其明确,则可以将其作为url的一部分:
/v1/{userId}/services/
通常,我使用 aggregation vs composition 来确定它是否是嵌套资源。
答案 1 :(得分:0)
进一步的调用可能在请求标头中有www.test.com/v1/users
返回的用户ID(应该加密?)。
如果不需要向用户公开userId,则可以使用任何编码器并生成哈希值(该登录会话/会话ID唯一的个人访问令牌)。每次发出后续请求时,都可以验证会话ID,然后继续执行进一步的操作。
此外,我认为后者应该是您的选择。另外,请尝试根据生成的会话ID设置会话保留有效时间。