我正在開發一個使用MVC控制器的REST API。我想處理所有模型綁定錯誤,並以用戶友好的方式向客戶報告。在我的自定義模型綁定器中,我已經拋出了異常處理程序認爲安全的特殊異常,並向客戶端顯示。可靠地處理ASP.NET MVC模型綁定錯誤
然而,當默認的模型粘合劑看到一個無效值(比方說,asdf
爲int
)似乎要麼完全忽略它(如果該參數不是必需的),或者拋出一個普通的ArgumentException
(如果需要的參數)。是否可以可靠地處理這兩種情況並獲取參數名稱和相關錯誤,而無需手動重寫整個聯編程序?
我寧願不按原樣顯示ArgumentException
,因爲它揭示了客戶端不應該關心的方法和名稱空間名稱。如果它是可以避免的,我也不會解析ArgumentException
消息,並且這不會解決非完整忽略的非必需參數的無效值問題。
你有沒有找到一個好的解決方案?我正在考慮裝飾或繼承'IModelBinder',但我想知道是否有更好的方法。 –
@FabianSchmied:可惜沒有。 「Web API」模型綁定器可能對這種情況有更好的支持 - 我不瞭解ASP.NET Core。 –