欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C#中WebApiGet請求方式傳遞實體參數(shù)的示例分析

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

創(chuàng)新互聯(lián)公司專注于新寧企業(yè)網(wǎng)站建設,成都響應式網(wǎng)站建設公司,商城建設。新寧網(wǎng)站建設公司,為新寧等地區(qū)提供建站服務。全流程定制網(wǎng)站建設,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務

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

叫鍵值對可能不夠專業(yè),叫NameValueCollection?

很遺憾,也沒找到啥現(xiàn)成的例子。

最后祭出反射,來拼裝QueryString

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

參數(shù)前面標注[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請求方式傳遞實體參數(shù)的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

當前文章:C#中WebApiGet請求方式傳遞實體參數(shù)的示例分析
鏈接地址:http://chinadenli.net/article34/gigspe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、靜態(tài)網(wǎng)站、移動網(wǎng)站建設、網(wǎng)站設計公司、手機網(wǎng)站建設、標簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設