作者:李小龙 时间: 2021-01-05
WebAPI是网络应用程序接口。包含了广泛的功能,网络应用通过API接口,可以实现存储服务、消息服务、计算服务等能力,利用这些能力可以进行开发出强大功能的web应用。
本文档介绍的是控制台+Owin+Topshelf搭建WebAPI接口服务。
主要是以下几个
Microsoft.AspNet.WebApi
Microsoft.AspNet.WebApi.Owin
Microsoft.Owin.Hosting
Microsoft.Owin.Host.HttpListener
Topshelf
Nuget安装
2.1 Topshelf
Topshelf 是一个用来部署基于.NET Framework 开发的服务的框架。简化服务创建于部署过程,并且支持控制台应用程序部署为服务。
http://docs.topshelf-project.com/en/latest/configuration/config_api.html#service-description
2.2 Owin
OWIN 的全称是 "Open Web Interface for .NET", OWIN 在 .NET Web 服务器和 .NET Web 应用之间定义了一套标准的接口, 其目的是为了实现服务器与应用之间的解耦,使得便携式 .NET Web 应用以及跨平台的愿望成为现实, 标准的 OWIN 应用可以在任何 OWIN 兼容的服务器上运行, 不再依赖于Windows和IIS 。
3.1 新建WebApiConfig类定义默认路由
路由机制:https://www.cnblogs.com/landeanfen/p/5501490.html
3.2 新建WebApiServiceHost类配置启动
其中ip地址可以在app.config进行配置
3.3 在Main函数中配置和运行宿主服务
其中服务描述、显示名称、名称等服务信息都可以在app.config进行配置。
新建API控制器,需要注意以下几点约定
1、控制器放在文件夹Controllers下(没有新建一个)
2、控制器继承自ApiController
3、控制器名称符合“名称+Controller”规范
例如:
5.1 Postman调试
1)Postman安装
下载地址:https://www.postman.com/downloads/
安装设置参考:https://blog.csdn.net/weixin_43184774/article/details/100578557
Web API使用Postman进行调试。打开Postman后,会看到如下界面。postman主界面分为上中下三部分,调试时需要设置请求方式、服务器地址、请求参数。设置完成后点击Send,如果设置无误,界面最下方就会显示出返回结果。
2)模拟请求
选择请求方式à输入接口地址à设置接口请求参数àSend
3)调试
上面步骤设置好之后可以在代码中打断点进行调试,排查问题
5.2 Swagger调试
1)Swagger—api接口文档化
https://www.cnblogs.com/miskis/p/7561249.html
Nuget安装Swashbuckle ,添加依赖
在WebApiConfig类中新增Swagger配置,如下图
2)调试接口
启动api服务,在浏览器中输入http://localhost:8887/swagger/ui/index#,可以看到api包含的接口,输入参数带点击即可开始调试。