我已經計劃構建多個服務端點,例如這些以更新多個實體項目。接受POST請求時添加單個或多個API端點?
/api/order(orderInfo) [httppost]
/api/orderChangeCurrency(orderCurrency) [httppost]
/api/orderChangeClientName(orderClientName) [httppost]
public class orderInfo()
{
public int orderID {get;set;}
public int orderType {get;set;}
}
public class orderCurrency()
{
public int orderID {get;set;}
public int currencyID {get;set;}
}
public class orderClientName()
{
public int orderID {get;set;}
public string firstName{get;set;}
public stringlastName{get;set;}
}
但它越過我的腦海裏有一個單獨的端點,而不是會做這一切
/api/order(orderExtendedInfo) [httppost]
public class orderExtendedInfo()
{
public int orderID {get;set;}
public orderInfo? OrderInfo{get;set;}
public orderCurrency? OrderCurrency{get;set;}
public orderClientName? OrderClientName{get;set;}
}
在這種情況下,我不得不將根據所提供的信息更新的實體業務邏輯(空值或不)。
在這個特定情況下,API端點是否有推薦的做法或規則?
什麼的 「建議」 的方式,你找什麼?更具體地說 – jpgrassi
我只是在尋找這種特殊情況下的API設計實踐。 – mko
我認爲你的方法沒問題。唯一的一點是,如果你遵循REST,你的方法是錯誤的。其餘的重點是資源,所以你不應該在方法中處理多個資源。但是,這只是「純粹」的REST指導原則,我認爲它在我的日常工作中沒有多大用處。 – jpgrassi