如何处理使用REST生成多个资源的POST方法?

时间:2015-04-15 21:51:51

标签: rest http

我正在构建我的第一个REST API。我可以毫无问题地完成大部分查询,但现在遇到了一个我不知道如何解决的用例。

以下是用例 我向API提交数据集,然后将数据集存储在数据库中(此部分按预期工作)。存储在数据库中时,由于业务规则,它会创建不同的资源。 所以现在我不知道如何通知用户新创建的资源的位置是什么,因为我可以有多个。

我读了这个Can the Location header be used for multiple resource locations in a 201 Created response?,告诉我只允许一个位置标题 我应该重新考虑我的POST方法吗?我应该使用不同的方式来确认用户资源在哪里吗?

1 个答案:

答案 0 :(得分:1)

是的,Location标头需要一个标识符。它适用于您应遵循的一个资源,以便根据某些预定义的语义完成请求。

您可以改用Link标题。然后你可以有多个URI。请查看RFC 5988 here以获取一些示例,并且不要忘记正确记录它。

作为替代方案,请记住POST方法的语义是由您确定的,因此返回响应有效负载中的链接列表没有任何问题,只要资源格式以某种方式允许它并且它是记录。