适用于Q& A服务的REST服务结构

时间:2015-05-27 20:49:23

标签: rest

我正在创建基本上为用户身份验证发出一系列问题的服务(即您的宠物年龄),并且可以验证答案(但必须在问题出现的2分钟内完成)。踢球者问题的制定是一个漫长的过程,所以我想单独调用它以使其变为异步。

...拨打#1 POST \ users {user} \ challengerequest - 创建请求,需要几分钟,并返回请求ID

...然后民意调查#2 GET \ users {user} \ challengerequest {requestID} - 返回实际问题,2分钟计时器启动

...致电#3 POST \ users {user} \ challengeresponse {requestID} - 获取响应,验证答案,并在事情有效时返回。

目前我不喜欢这个: - 第一次调用我的GET时,计时器启动了,我相信理论上这就像是一个更新,可能不应该通过GET完成 - 这些感觉就像瞬态资源,可能不是RESTful实现的好选择吗?

我很想听听你对实施的看法。我应该重新评估什么?谢谢!

1 个答案:

答案 0 :(得分:0)

  

我目前不喜欢这个: - 第一次调用我的GET时,启动计时器,我相信理论上这就像是一个可能不应该通过GET完成的更新 - 这些感觉像瞬态资源,可能不是RESTful实现的好选择?

我同意100%。 GET should be idempotent。在这种情况下,它不是。我认为使用POST来启动问题可能是首选。这也告诉流服务器不要缓存请求。