VSCode创建WebAPI

  本文在VSCode中创建WebAPI,实现通过webapi获取之前的环境信息监测项目中保存的温度、湿度、火焰传感器检测值、烟雾传感器检测值,为后续用jQuery获取数据并用chart.js做验证。
  在VSCode终端中依次执行下列命令,创建webapi项目,同时添加mysql相关的数据类操作程序集。

 	dotnet new webapi -o EMDataPresentation
	cd EMDataPresentation
	dotnet add package Microsoft.EntityFrameworkCore.Design
	dotnet add package Microsoft.EntityFrameworkCore.Tools
	dotnet add package MySql.EntityFrameworkCore

  项目创建后,默认存在Controllers文件夹,并附带示例性质的WebAPI代码,如下图所示:
  WebAPI类继承自ControllerBase类,微软的文档中建议不要继承 Controller 类实现WebAPI,虽然Controller类也继承自ControllerBase类,但它增加了很多支持视图的功能。但要是视图和WebAPI使用相同的控制器,也可以继承 Controller 类。
在这里插入图片描述
  WebAPI类用ApiControllerAttribute修饰,用于标识该类及其派生类型都用于提供HTTP API响应(ApiControllerAttribute也可以用在程序集上,详细的介绍请见参考文献1)。除此之外,WebAPI类还用RouteAttribute修饰,用于指定访问WebAPI的url路径(程序运行时,在浏览器中输入服务器地址和端口,后面再跟WebAPI类去掉controller后的名称,即可调用WebAPI类中响应GET操作的函数)。
在这里插入图片描述  可以给WebAPI类内部的函数添加以下特性,用于指定函数相应HTTP请求中的哪类操作(下图中所有特性的详细说明请见参考文献3)。
在这里插入图片描述
  为获取环境信息监测项目中保存的各类检测值,先将信息监测项目中的对象类及数据库操作类复制到当前项目下,然后在startup文件中的ConfigureServices函数中配置数据库操作类,最后将项目默认生成的WeatherfForecastController类改名为EMDataController,使用默认的路由,最后修改项目的launchSettings.json中的端口(与之前项目的端口冲突)。
  启动项目,然后在浏览器中输入WebAPI url,即可看返回的数据集合,如下图所示:
在这里插入图片描述

参考文献:
[1]https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/first-web-api?view=aspnetcore-5.0&tabs=visual-studio-code
[2]ASP.NET Core项目开发实战入门
[3]https://docs.microsoft.com/zh-cn/dotnet/api/microsoft.aspnetcore.mvc.httpputattribute?view=aspnetcore-5.0

猜你喜欢

转载自blog.csdn.net/gc_2299/article/details/120096097