webAPI 使用註解非必須引數攔截問題

2021-09-13 01:40:23 字數 442 閱讀 8839

使用註解可以更方便對引數進行驗證,但是也會存在非必須引數如:或的請求。這時modelstate.isvalid過濾器將會攔截請求提示"值是必需的。"或"有乙個值是必需的,但請求中不存在該值。"異常。

若介面使用model接收引數,可將值型別引數改為可空型別解決此問題;如:

int?id
若介面不使用model接收引數,暫無沒有找到解決方案;

經過除錯可以使用一種笨拙的取巧方案解決:在過濾器.modelstate.isvalid==false內部對值的錯誤內容進行排除

if (msg != "有乙個值是必需的,但請求中不存在該值。" && msg != "值是必需的。")

hive動態分割槽使用 如非必須,不建議使用

往hive分割槽表中插入資料時,如果需要建立的分割槽很多,比如以表中某個字段進行分割槽儲存,則需要複製貼上修改很多sql去執行,效率低。hive提供了乙個動態分割槽功能,其可以基於查詢引數的位置去推斷分割槽的名稱,從而建立分割槽。一 單一分割槽字段動態分割槽表的建立與資料插入 1 建表 drop t...

拷貝建構函式的引數為什麼必須使用引用型別

在c 中,建構函式,拷貝建構函式,析構函式和賦值函式 賦值運算子過載 是最基本不過的需要掌握的知識。但是如果我問你 拷貝建構函式的引數為什麼必須使用引用型別?這個問題,你會怎麼回答?或許你會回答為了減少一次記憶體拷貝?很慚愧的是,我的第一感覺也是這麼回答。不好還好,我有理性這個好品質。思索一下以後,...

拷貝建構函式的引數為什麼必須使用引用型別

在c 中,建構函式,拷貝建構函式,析構函式和賦值函式 賦值運算子過載 是最基本不過的需要掌握的知識。但是如果我問你 拷貝建構函式的引數為什麼必須使用引用型別?這個問題,你會怎麼回答?或許你會回答為了減少一次記憶體拷貝?很慚愧的是,我的第一感覺也是這麼回答。不好還好,我有理性這個好品質。思索一下以後,...