网站首页 > 基础教程 正文
前言
随着上位机开发技术的广泛应用,很多小伙伴会有上位机与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文件夹下,创建一个实体类,如下所示:
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文件夹下,右击创建控制器,这里注意要选择Web API 2控制器模板,名称为THMonitorController,继承ApiController,如下所示:
6、在THMonitorController控制器中,创建一个实体集合对象,同时添加两个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、这样,最简单的一个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文件:
- 上一篇: 新手化妆全套教程~超实用,菜鸟学起来
- 下一篇: 基础彩妆教程!菜鸟看完也能成高手!
猜你喜欢
- 2025-04-23 基础彩妆教程!菜鸟看完也能成高手!
- 2025-04-23 新手化妆全套教程~超实用,菜鸟学起来
- 2025-04-23 魔兽TBC:24号上线3个圣物,每一个都是极品,电萨是直接起飞
- 2025-04-23 三菱PLC的编程软件GXWork2安装图文教程
- 2025-04-23 设计模式菜鸟教程教案
- 2025-04-23 史上最全2018最新AE基础教程菜鸟零基础学习
- 2025-04-23 海竿钓鲶鱼绝招及注意事项
- 2025-04-23 城会玩,菜鸟2个小时便学会了弹奏尤克里里!
- 2025-04-23 产品菜鸟没人带怎么快速上手?
- 2025-04-23 PS零基础到精通自学教程 第2节软件界面认识
- 04-28使用 Git 命令去管理项目的版本控制(二)
- 04-28腾讯云国际站代理商:如何搭建Git服务器?
- 04-28拯救你的 Git 仓库!用 BFG 秒删历史大文件,告别迁移失败
- 04-28用git rebase命令合并开发阶段中多条commit提交记录
- 04-28git命令行打tag基础知识
- 04-28Git Rebase
- 04-28计算机知识 | Git版本控制流程
- 04-28计算机知识 | 在工作流中常用的Git命令
- 最近发表
- 标签列表
-
- 菜鸟教程 (58)
- jsp (69)
- c++教程 (58)
- pythonlist (60)
- gitpush (78)
- pythonif (68)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)