# 如何开发Webapi服务

作者:李小龙 时间: 2021-01-05

WebAPI是网络应用程序接口。包含了广泛的功能,网络应用通过API接口,可以实现存储服务、消息服务、计算服务等能力,利用这些能力可以进行开发出强大功能的web应用。

本文档介绍的是控制台+Owin+Topshelf搭建WebAPI接口服务。

img

# 一、新建控制台项目

img

# 二、安装相关依赖

​ 主要是以下几个

​ Microsoft.AspNet.WebApi

Microsoft.AspNet.WebApi.Owin

Microsoft.Owin.Hosting

Microsoft.Owin.Host.HttpListener

Topshelf

Nuget安装

img

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 。

# 三、开发webapi服务

3.1 新建WebApiConfig类定义默认路由

路由机制:https://www.cnblogs.com/landeanfen/p/5501490.html

img

3.2 新建WebApiServiceHost类配置启动

img

​ 其中ip地址可以在app.config进行配置

img

3.3 在Main函数中配置和运行宿主服务

img

​ 其中服务描述、显示名称、名称等服务信息都可以在app.config进行配置。

# 四、新增接口

​ 新建API控制器,需要注意以下几点约定

​ 1、控制器放在文件夹Controllers下(没有新建一个)

2、控制器继承自ApiController

3、控制器名称符合“名称+Controller”规范

例如:

imgimg

# 五、调试服务

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,如果设置无误,界面最下方就会显示出返回结果。

img

​ 2)模拟请求

​ 选择请求方式à输入接口地址à设置接口请求参数àSend

img

​ 3)调试

​ 上面步骤设置好之后可以在代码中打断点进行调试,排查问题

img

5.2 Swagger调试

​ 1)Swagger—api接口文档化

​ https://www.cnblogs.com/miskis/p/7561249.html

​ Nuget安装Swashbuckle ,添加依赖

​ 在WebApiConfig类中新增Swagger配置,如下图

img

​ 2)调试接口

​ 启动api服务,在浏览器中输入http://localhost:8887/swagger/ui/index#,可以看到api包含的接口,输入参数带点击img即可开始调试。

img