Web API 通常基于 HTTP 协议,并且可以被各种客户端(如 Web 应用程序、移动应用程序等)调用。
打开 Visual Studio,创建新项目
选择 “应用类型、平台、语言”,选择 “ASP.NET Web 应用程序(.NET Framework)”,点击 “下一步”
填写 “项目名称” 和 “解决方案名称”,然后 “创建”
创建 WEB API 应用程序
创建成功
项目创建完成之后,APP_Start 文件夹下的 WebApiConfig.cs 类,和 Controllers 文件夹下的 ValuesController.cs,是两个关健文件。
下面对这两个文件做简单解析。
WebApiConfig.cs 类里面的 Register 方法用于注册一个 WebAPI,并且会返回 HttpConfiguration 类型的一个变量 config,通过这个变量可以设置 HTTP 访问的路由。
如果需要对 API 的访问路径进行设置,可在 routeTemplate 属性中中进行修改。
文件的调用顺序:WebApiConfig.cs 类里的 Register 方法,是在 Global.asax 里被调用的,而 Global.asax 是在网站启动的时候被调用。
ValuesController.cs 文件对外提供可访问的 API
由于在 WebApiConfig.cs 中定义 HTTP 访问路由时,采用了这个设置:routeTemplate: "api/{controller}/{id}",缺少了 /{action},就导致调用 API 时,只能根据 API 的方法名判断是 GET 或 POST 方式,并且方法名不能拼接上其他字符,所以参数一样的 GET 或 POST 方法只能有一个。
要解决这个问题,需要将 WebApiConfig.cs 对路由的设置改为:routeTemplate: "api/{controller}/{action}/{id}"
如果不需要 API 链接中有 “api” 字符串,可将 WebApiConfig.cs 改为:routeTemplate: "{controller}/{action}/{id}"
启动 WebAPI 程序
调用 API