2015-04-15 38 views
0

我正在構建我的第一個REST API。我可以在沒有任何問題的情況下完成大部分查詢,但現在我遇到了一個我不知道如何解決的用例。如何處理使用REST生成多個資源的POST方法?

這是用例。
我將數據集提交給API,然後將數據集存儲在數據庫中(此部分按預期工作)。存儲在數據庫中時,由於業務規則,它會創建不同的資源。 所以現在我不知道如何通知用戶新創建的資源的位置,因爲我可以有多個位置。

我讀了這個Can the Location header be used for multiple resource locations in a 201 Created response?,它告訴我只有一個位置標題是允許的。
我應該重新考慮我的POST方法嗎?我應該用不同的方式來確認用戶在哪裏資源?

回答

1

是的,Location標題需要一個標識符。它的目的是爲了根據一些預定義的語義完成請求,您應該遵循的資源之一。

您可以改爲使用Link標題。那麼你可以有多個URI。查看RFC 5988 here的幾個示例,不要忘記正確記錄它。

作爲替代方案,請記住,POST方法的語義由您決定,因此只要資源格式允許以某種方式返回響應有效內容中的鏈接列表就沒有問題,並且它被記錄。