webapi 可空參數


 

 

 

 

 

 

這里上面是一個可空參數的例子。請不要寫成  

 

 public WapOutgoingResponse<List<PatrolTaskOut>> GetTaskPatrolHistory(string user, DateTime? start, DateTime? end , int? count, int? since )

 

一開始我是這么寫的,但是在調用的時候發現

這么調用是找不到 這個路由的,只有

這個地址才能正確調用。一開始沒有想明白,后來在網上查找一下資源發現需要這么寫

 

 DateTime? start = null

 

為什么原來的 DateTime? start  不行? “使用了沒有初始化默認值的變量” ,這就說明當我們想使用一個可空參數的時候不僅是 在類型后面加上?,還需要給它一個默認值。

 

其實還有另一個方法;  就是 [FromUri],使用這個配合對象實體做參數,會自動從url中解析對應的數據,如果不存在屬性則是默認值。

在聲明實體的時候我們仍可以如下:

 

 

我們可以從這里看出來如果是 DateTime?  那么他的值是 null  ,而 DateTime  類型的則是 default(DateTime),

這里也可以看出,進行了初始化。實際操作中可根據需要選擇即可。

 

這里建議自己測試一下這三種,主要看的是請求地址url的區別

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM