Ⅰ WebAPI系列之快速入門
前言
隨著上位機開發技術的廣泛應用,很多小夥伴會有上位機與MES等系統進行數據交互的需求,這時候,我們就需要了解WebAPI的相關技術。
什麼是WebAPI?
WebAPI是一個簡單的構建HTTP服務的新框架,用於對接各種客戶端(瀏覽器,移動設備),在.Net平台上,WebAPI是一個開源的、理想的、構建REST-ful服務的技術。
WebAPI部署在哪裡?
WebAPI部署在IIS中,用於給外部應用提供數據。
為什麼要使用WebAPI?
WebAPI本質是網路應用程序介面,網路應用可以通過API介面,可以實現存儲服務、消息服務、計算服務等能力,利用這些能力可以進行開發出強大功能的web應用。
創建WebAPI
1、打開VS2019,創建一個新項目,項目模板選擇ASP.NET Web應用程序(.NET Framework),如下所示:
2、創建完成後,取一個項目名稱,然後點擊下一步,在下面的頁面中,選擇模板為Web API,如下所示:
3、創建項目需要一點時間,由於我們選擇好了Web API,所以創建好的項目界面自動會添加好Models/Controllers/Views等文件夾,如下所示:
4、在Models文件夾下,創建一個實體類,如下所示:
5、在Controllers文件夾下,右擊創建控制器,這里注意要選擇Web API 2控制器模板,名稱為THMonitorController,繼承ApiController,如下所示:
6、在THMonitorController控制器中,創建一個實體集合對象,同時添加兩個Get開頭的方法,如下所示:
public class THMonitorController : ApiController
{
THMonitor[] THMonitors = new THMonitor[]
{
newTHMonitor(){Name="溫度1",Value="22.3",Unit="℃",Desc="溫度1"},
newTHMonitor(){Name="溫度2",Value="22.1",Unit="℃",Desc="溫度2"},
newTHMonitor(){Name="溫度3",Value="32.3",Unit="℃",Desc="溫度3"},
newTHMonitor(){Name="溫度4",Value="22.3",Unit="℃",Desc="溫度4"},
newTHMonitor(){Name="濕度1",Value="42.3",Unit="%",Desc="濕度1"},
newTHMonitor(){Name="濕度2",Value="42.1",Unit="%",Desc="濕度2"},
newTHMonitor(){Name="濕度3",Value="42.3",Unit="%",Desc="濕度3"},
newTHMonitor(){Name="濕度4",Value="42.3",Unit="%",Desc="濕度4"},
};
public IEnumerableGetAllTHMonitor()
{
returnTHMonitors;
}
public THMonitor GetTHMonitorByName(string name)
{
THMonitor contact = THMonitors.FirstOrDefault(item => item.Name == name);
if(contact == null)
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
returncontact;
}
7、這樣,最簡單的一個WebAPI項目就完成了,直接運行即可,運行地址為https://localhost:44382/。
Web API測試
使用Postman介面工具來進行測試。
Postman是一款功能強大的HTTP調試與模擬插件。獲取安裝包,後台回復 Postman
1、啟動Postman之後,在地址欄輸入https://localhost:44382/,如果要獲取所有的數據,請求方式選擇Get,地址欄後面加個api/THMonitor,點擊Send,可以看到返回的數據,結果顯示為JSON格式。
2、如果想要查詢某個數據,可以加個參數,地址欄為https://localhost:44382/api/THMonitor?Name=溫度1,查詢結果如下所示:
3、地址欄格式可以參考項目中的WebApiConfig.cs文件:
我是新閣上位機開發的付老師,用我的專業,成就你的夢想!
-END-
Ⅱ mui 調用webapi,怎麼調試webapi
webapi你可以單獨bug一個instance,或者你直接把webapi部署到伺服器上,程序直接訪問伺服器的方式調用webapi。
祝好運!