怎么搭建Web Api

1.通常我们有个web 让后可以有个web api 提供接口
2.通常我们分别建两个项目 web api 依赖web的来进行访问(说到底是依赖是IIS)
3.我们先建个SmallCode.Test.Web 再建一个SmallCode.Test.Api
4.直接在SmallCode.Test.Web 引用 SamllCode.Test.Api 运行通过地址 /api/Order 无法访问
5.开始配置了 在web 中用Nuget 下载Api相关的包:Microsoft.AspNet.WebApi.Core.5.2.3
在web项目中建个 WebApiConfig 配置如下:

public class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
///web api 路由 在webapi 中的System.Web.Http 中 这是WebApi对原来的System.Web.Http的扩展
config.MapHttpAttributeRoutes();

//配好路由规则
config.Routes.MapHttpRoute(
name: "SmallCodeApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { controller = "Order", id = RouteParameter.Optional }
);
}
}

运行web 访问api/Order 发现还是不行;原来在Global.asax.cs中需要加载这个WebApiConfig的文件
这时需要用Nuget下载Microsoft.AspNet.WebApi.WebHost.5.2.3(这个估计就是api 寄生在web上的依赖 个人理解)
在web Global.asax.cs配置如下:

protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
RouteConfig.RegisterRoutes(RouteTable.Routes);
}

再来运行 api/Order

6.总结:在web中引用api项目的配置,直接引用dll后,在web项目中对WebApiConfig 进行配置。(在web项目中需要引用到一些web api 相关的包)

代码托管于:https://git.oschina.net/nele/SmallCode.Test.Web.git

原文地址:https://www.cnblogs.com/nele/p/5499708.html