【问题标题】:Can a sub resource change its "parent" resource in REST?子资源可以在 REST 中更改其“父”资源吗?
【发布时间】:2013-12-24 13:21:53
【问题描述】:

如果我对 /quizzes/1/answer/final 进行 POST,我希望将答案保存在服务器上,但我还想在测验资源上设置提交日期并更新测验状态完成。我可以在 POST 到提到的 URI 时这样做,还是应该在更新测验资源时发出另一个请求?

由于我希望工作流在服务器上,我不希望客户端做太多事情,但我不知道在发布答案时更改另一个资源是否正确?

我应该从这个 POST 回复什么?

我应该用答案和 20x、303 指向答案、303 指向测验等来回应吗?

【问题讨论】:

    标签: java rest jakarta-ee


    【解决方案1】:

    您的服务器和响应资源的状态转换最终取决于您和您的要求。 REST 只是一个指南。

    我个人同意,如果测验资源的状态应该随着特定操作而改变,我会这样做,因为这样可以节省 RTT 和客户端复杂性。

    编辑添加:此外,在编写任何服务时,我都会假设客户会对我撒谎。如果客户负责提交答案然后适当地更新测验,是什么阻止客户提交答案然后将测验时间设置为 30 年前或thousand years in the future

    就 POST 的成功响应而言,我认为这将取决于客户端下一步应该做什么。如果他们可能想要选择任何一个方向,一个选项可能是 200,其中包含提交的答案(当前 uri 中的资源,作为确认),以及答案的规范链接和整体测验的链接。我倾向于 200,因为它清楚地表明成功,但这是一种观点,同样,您的目标客户会如何表现。 (它是浏览器还是程序化客户端或两者兼而有之?这可能会影响您的决定)

    【讨论】:

      猜你喜欢
      • 2020-04-26
      • 2013-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多