簡體   English   中英

用於PUT / POST / GET以外的自定義操作的REST API

[英]REST API for custom action other than PUT/POST/GET

我正在編寫REST API,它基本上提供了兩種資源: UsersCars 使用API​​,您可以POST / GET每個資源。

但現在我有一個自定義動作,基本上會給用戶一個新車。 這將需要后端的cron作業並執行操作。 它不適合POST / PUT模型。 我只是想知道這是什么最好的路線?

我想到了:

/addNewCarToUser/:user_id

我知道這個問題過於局部化但我只是想知道這只是一個判斷調用,還是有這種請求的約定? 謝謝

這取決於。 如果汽車屬於用戶,它們是否只存在? 或者他們可以自己存在嗎?

如果它們只屬於屬於用戶的環境,我只會讓汽車屬於用戶並擁有這樣的路線來創建一個新的:

POST /users/:id/cars

或者您可以指定汽車擁有者擁有者的所有者(似乎違反直覺,但數據方面,汽車通常擁有0或1個所有者)。 路線可能是:

POST /cars?user_id=######

另一個合理的關系是擁有第三個資源所有權,然后你可以創建一個新車然后新的所有權,因為創建一輛汽車並將其交給用戶將是2個新資源。

POST /cars
POST /ownerships

好吧,“addNewCarToUser”是一個動作,因此它違反了資源主體。

我能想到

/用戶/:USER_ID /汽車

這將是GET或POST的資源。

我會執行POST因為此操作將導致創建新數據。

不確定你正在使用什么命名約定,但我會做這樣的事情:

/users/:id/new_car # via POST

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM