我們正在開發一個REST API,並允許所有四種標準動詞。在POST/PUT的情況下,API客戶端將需要修改某些字段的值。就拿僞例如:REST API最佳實踐
class Employee {
long Id;
long DepartmentId; // should i expose this?
string Department; // or should i expose this?
}
- 用例這裏是一個客戶端將發佈一個新員工,並填寫所有字段。
- 有部門在我們的API背後的數據庫中的表
- 客戶將需要得到有效的部門列表發送
- 客戶端可以進行API調用來獲取部門這樣的名單:
{ 「部門標識」: 「1」, 「部」: 「技術」 },
{ 「部門標識」: 「2」, 「departm ent「:」人力資源「 }
客戶端可以包含上述有效部門之一。我的問題是,如果POST/PUT請求包含部門ID或名稱?該ID似乎比較容易驗證,但對客戶不那麼「友好」。無論哪種情況,我們都可以根據我們的參考表格進行適當的驗證,但我想知道最佳實踐是什麼。
客戶是否會選擇某種形式,如部門的下拉框?我認爲應該有一個「部門」類。 – christiandev
我可以做一個部門班,但這仍然不能真正解決我的問題。我假設API沒有前端,客戶端必須提前請求獲取所有參考數據。 –
API消費者應該向您發送ID *和*完整對象。 (新對象(),填充道具,發送東西)和爲你更容易(抓取對象,驗證內容後,按原樣使用它,很少費力)。永遠不要*使用名稱來關聯數據。 – Alex