上位機(jī)開發(fā)——WebAPI系列之快速入門
前言
隨著上位機(jī)開發(fā)技術(shù)的廣泛應(yīng)用,很多小伙伴會(huì)有上位機(jī)與MES等系統(tǒng)進(jìn)行數(shù)據(jù)交互的需求,這時(shí)候,我們就需要了解WebAPI的相關(guān)技術(shù)。
什么是WebAPI?
WebAPI是一個(gè)簡(jiǎn)單的構(gòu)建HTTP服務(wù)的新框架,用于對(duì)接各種客戶端(瀏覽器,移動(dòng)設(shè)備),在.Net平臺(tái)上,WebAPI是一個(gè)開源的、理想的、構(gòu)建REST-ful服務(wù)的技術(shù)。
WebAPI部署在哪里?
WebAPI部署在IIS中,用于給外部應(yīng)用提供數(shù)據(jù)。
為什么要使用WebAPI?
WebAPI本質(zhì)是網(wǎng)絡(luò)應(yīng)用程序接口,網(wǎng)絡(luò)應(yīng)用可以通過(guò)API接口,可以實(shí)現(xiàn)存儲(chǔ)服務(wù)、消息服務(wù)、計(jì)算服務(wù)等能力,利用這些能力可以進(jìn)行開發(fā)出強(qiáng)大功能的web應(yīng)用。
創(chuàng)建WebAPI
1、打開VS2019,創(chuàng)建一個(gè)新項(xiàng)目,項(xiàng)目模板選擇ASP.NET Web應(yīng)用程序(.NET Framework),如下所示:

2、創(chuàng)建完成后,取一個(gè)項(xiàng)目名稱,然后點(diǎn)擊下一步,在下面的頁(yè)面中,選擇模板為Web API,如下所示:

3、創(chuàng)建項(xiàng)目需要一點(diǎn)時(shí)間,由于我們選擇好了Web API,所以創(chuàng)建好的項(xiàng)目界面自動(dòng)會(huì)添加好Models/Controllers/Views等文件夾,如下所示:

4、在Models文件夾下,創(chuàng)建一個(gè)實(shí)體類,如下所示:
????public?class?THMonitor
????{
????????public?string?Name?{?get;?set;?}
????????public?string?Value?{?get;?set;?}
????????public?string?Unit?{?get;?set;?}
????????public?string?Desc?{?get;?set;?}
????}

5、在Controllers文件夾下,右擊創(chuàng)建控制器,這里注意要選擇Web API 2控制器模板,名稱為THMonitorController,繼承ApiController,如下所示:

6、在THMonitorController控制器中,創(chuàng)建一個(gè)實(shí)體集合對(duì)象,同時(shí)添加兩個(gè)Get開頭的方法,如下所示:
????public?class?THMonitorController?:?ApiController
????{
????????THMonitor[]?THMonitors?=?new?THMonitor[]
????????{
??????????????new?THMonitor(){Name="溫度1",Value="22.3",Unit="℃",Desc="溫度1"?},
??????????????new?THMonitor(){Name="溫度2",Value="22.1",Unit="℃",Desc="溫度2"?},
??????????????new?THMonitor(){Name="溫度3",Value="32.3",Unit="℃",Desc="溫度3"?},
??????????????new?THMonitor(){Name="溫度4",Value="22.3",Unit="℃",Desc="溫度4"?},
??????????????new?THMonitor(){Name="濕度1",Value="42.3",Unit="%",Desc="濕度1"?},
??????????????new?THMonitor(){Name="濕度2",Value="42.1",Unit="%",Desc="濕度2"?},
??????????????new?THMonitor(){Name="濕度3",Value="42.3",Unit="%",Desc="濕度3"?},
??????????????new?THMonitor(){Name="濕度4",Value="42.3",Unit="%",Desc="濕度4"?},
????????};
????????public?IEnumerable<THMonitor>?GetAllTHMonitor()
????????{
????????????return?THMonitors;
????????}
????????public?THMonitor?GetTHMonitorByName(string?name)
????????{
????????????THMonitor?contact?=?THMonitors.FirstOrDefault<THMonitor>(item?=>?item.Name?==?name);
????????????if?(contact?==?null)
????????????{
????????????????throw?new?HttpResponseException(HttpStatusCode.NotFound);
????????????}
????????????return?contact;
????????}
7、這樣,最簡(jiǎn)單的一個(gè)WebAPI項(xiàng)目就完成了,直接運(yùn)行即可,運(yùn)行地址為https://localhost:44382/。
Web API測(cè)試
使用Postman接口工具來(lái)進(jìn)行測(cè)試。
Postman是一款功能強(qiáng)大的HTTP調(diào)試與模擬插件。獲取安裝包,后臺(tái)回復(fù)Postman
1、啟動(dòng)Postman之后,在地址欄輸入https://localhost:44382/,如果要獲取所有的數(shù)據(jù),請(qǐng)求方式選擇Get,地址欄后面加個(gè)api/THMonitor,點(diǎn)擊Send,可以看到返回的數(shù)據(jù),結(jié)果顯示為JSON格式。

2、如果想要查詢某個(gè)數(shù)據(jù),可以加個(gè)參數(shù),地址欄為https://localhost:44382/api/THMonitor?Name=溫度1,查詢結(jié)果如下所示:

3、地址欄格式可以參考項(xiàng)目中的WebApiConfig.cs文件:
