亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中WebApi Get請求方式傳遞實體參數的示例分析

發布時間:2021-08-13 09:16:07 來源:億速云 閱讀:372 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關C#中WebApi Get請求方式傳遞實體參數的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一、實體類如何轉換成QueryString這種鍵值對格式?

叫鍵值對可能不夠專業,叫NameValueCollection?

很遺憾,也沒找到啥現成的例子。

最后祭出反射,來拼裝QueryString

二、服務器端如何提取QueryString里參數,自動變成一個實體類?

參數前面標注[FromUri]特性

上代碼。

實體類:

namespace BaseLT.Core.Contract
{
 public class Request
 {
 public Request();

 public int Top { set; }
 public int PageSize { get; set; }
 public int PageIndex { get; set; }
 public string OrderBy { get; set; }
 public int SortState { get; set; }

 public bool CompareObject<T>(T obj1, T obj2);
 public void ExtjsInit();
 }
}

WebApi服務器端:

public class TankController : ApiController
{
 [HttpGet]
 [Route("api/tank/matters/public/{id=0}")]
 public IEnumerable<Matter> Get(int id,[FromUri]Request req)
 {
 return do sth;
 }
}

客戶端:

[TestMethod]
public void TestTankApi()
{
 string url = "http://localhost/ybjzuser.api/api/tank/matters/public/";
 url += getQueryString(new Request()
 {
 PageIndex = 1,
 PageSize = 100
 });
 
 string re;
 using (WebClient webClient = new WebClient())
 {
 webClient.Encoding = Encoding.GetEncoding("utf-8");
 re = webClient.DownloadString(url);
 }
 Assert.AreNotEqual(null, re);
 Console.WriteLine(re);
}
static string getQueryString(Request req)
{
 StringBuilder query = new StringBuilder("?");

 PropertyInfo[] propertys = req.GetType().GetProperties();
 foreach (PropertyInfo pi in propertys)
 {
 if (pi.CanRead)
 {
 query.Append($@"{pi.Name}={pi.GetValue(req)}&");
 }
 }

 return query.ToString();
}

關于“C#中WebApi Get請求方式傳遞實體參數的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

囊谦县| 涟水县| 林州市| 新密市| 栾川县| 垫江县| 咸丰县| 土默特右旗| 灵璧县| 疏附县| 修武县| 彭山县| 福清市| 蓝田县| 宝山区| 濮阳县| 惠东县| 陆川县| 饶平县| 汕尾市| 阳新县| 远安县| 大渡口区| 合水县| 石嘴山市| 房山区| 库尔勒市| 札达县| 广州市| 桐柏县| 辉南县| 阳泉市| 海南省| 长葛市| 石林| 兰州市| 延庆县| 延安市| 三门县| 八宿县| 饶河县|