我正在設計一個REST API,您可以在其中搜索不同國家/地區的數據,但由於您可以同時在不同的國家(最多4個)搜索相同的內容,我不確定最好/正確的方式來做到這一點。多個國家/地區的REST API結構
這將努力開始獲得數據(我使用的汽車爲例):
/api/uk,us,nl/car/123
該請求可以爲不同的國家(英國= 1返回不同的ID,我們= 2, nl = 3),那麼當這三個國家要求數據時,我該怎麼辦? 一個不錯的結構,我能得到當時的數據之一:
/api/uk/car/1
/api/us/car/2
/api/nl/car/3
但因爲它擊中了後端的3倍,是不是很有效。
我可以這樣做:
/api/car/?uk=1&us=2&nl=3
但是,如果我想要添加到該路徑不很好地工作:
/api/uk/car/1/owner
,因爲這會再變成:
/api/car/owner/?uk=1&us=2&nl=3
這看起來不太好。
任何人都有如何以良好的方式構建這個建議嗎?
問題是,汽車id是重複使用的國家。舉一個更好的例子,你可以說ID是汽車的註冊,「ABC123」可以存在於所有國家。 – AxAn
@AxAn可以說是一個設計錯誤,那麼 - 如何處理來自不同國家的汽車具有相同ID的結果? –
@AnAn你能澄清一下'/ api/car/owner /?uk = 1&us = 2&nl = 3'會做什麼,忽略了美學的片刻嗎?它是一個*搜索*,或*查找*你知道存在的一個或多個數據記錄? –