我正在开发一个API,查看有关HTTP方法的文档,它说“GET”不应该修改资源的状态。如果我要计算资源查看次数并将其返回给响应,该怎么办?如何管理API中的GET方法
喜欢的东西
GET /resource/1
{
"content": "This is the resource 1",
"view_count": 1
}
在接下来的调用返回的是:
GET /resource/1
{
"content": "This is the resource 1",
"view_count": 2
}
待办事项我在一些违反规则?
我认为与@Viktor A.相同请参阅RFC https://tools.ietf.org/html/rfc7231#section-:“客户端构造 请求消息以传达特定意图”。你的意图是获取内容,而不是修改它。所以view_count是一个副作用,不是问题。但请小心,后续的GET请求可能会返回一个带有旧的“view_count”的缓存表示。如果这对你是一个问题,那么你应该将这个值分开一个子资源(就像Viktor告诉你的那样),因为这意味着它是资源的一部分,而不是副作用。 – BenC