我有一個 .NET Core 5 專案(Rest API),其中包括一個控制器(TestController)和一個端點(AddOrUpdate)。端點的簽名如下所示:
[HttpPost, HttpPut]
public virtual IActionResult AddOrUpdate(params TDatabaseModel[] entities).
就其本身而言,這是可行的,但現在我總是必須在 JSON 中指定 TDatabaseModel 的串列。現在我想創建另一個端點,它只接受一個 TDatabaseModel,以防止創建串列。簽名如下所示:
[HttpPost, HttpPut]
public virtual IActionResult AddOrUpdate(TDatabaseModel entity)
現在的問題是,只要我在 JSON 正文中指定一個物件(不是串列),我就會得到一個例外。例外是指端點是“模棱兩可的”這一事實。我還嘗試使用“引數”從端點中列出 TDatabaseModel 的串列,但即便如此它仍然模棱兩可。
我的問題:有沒有辦法在不使用不同端點路由的情況下同時傳遞單個物件和物件串列?所以我不想最終使用不同的路由(HttpPost:{{URL}}/single && HttpPost:{{URL}}/multiple)。有沒有辦法做到這一點?
uj5u.com熱心網友回復:
不,沒有辦法,要么總是使用一個陣列,要么使用兩個端點。
不幸的是,REST 并沒有真正代表批處理操作(例如一次創建/更新多個物體),因此使用哪個選項完全是自以為是。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/464097.html
