我正在爲不同的git服務器創建webhook端點。 webhook url將在git服務器中配置,並將用於發送帶有包含有關事件元數據的主體的POST請求(例如推送完成後的提交信息)。 POST請求的內容因服務器而異:屬性和值是git提供程序特定的。REST:使用網址查詢參數和正文內容發佈端點
我想使用相同的端點url,如果有可能與查詢參數區分我正在處理的git提供程序。 我的終點會是這樣的:
/repositories/commits?type={git_provider}
在gitlab或Atlassian的藏匿處進行配置
中的url的例子是:
/repositories/commits?type=stash
/repositories/commits?type=gitlabs
的問題是,POST請求體的內容將是根據類型的值不同而不同。這種方式可行嗎?或者我應該爲每種類型創建不同的端點,在這種情況下,我將擁有多個端點,每個端點根據git類型處理不同的Post的主體。
/stash/repositories/commits
/gitlabs/repositories/commits
使用單一端點的查詢參數
臨:
- 尊重相同的層次結構中的另一個端點使用
缺點:
- 根據查詢參數的值,由於屬性的命名/值,會有不同的方式來讀取請求的主體。
使用單個端點與查詢參數
臨:
- 每個端點將簡單且,將被處理後固定體
Con:
- 新端點的層次結構將不尊重現有端點的相同層次結構。
這個問題主要是基於觀點的。問題中的所有網址建議都會起作用 - 應該如何處理取決於個人偏好或將其納入問題中未提及的現有方案中。 – Sven
我將編輯問題以添加更多詳細信息 –
閱讀編輯,我仍然會說這是基於意見的。你有基本的問題發送不同的POST機構到不同的URL。如果URL中的差異在'?'之前或之後並不重要 - 它是不同的。誰應該在你的問題上關心它?誰會受到這個決定的影響? – Sven