我想创建.net mvc项目,但我也想添加wep api 在同一项目中,我是否需要用于api的控制器和用于普通.net mvc的控制器? 我已经在Google中搜索过,但没有找到有用的解决方案, 任何答案肯定会帮助我 非常感谢。
答案 0 :(得分:1)
请按照以下步骤操作:
1-在App_Start文件夹中添加webapiconfig.cs文件
public class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
2-在Global.ascs.cs文件中,添加注释中提到的新行。您的Application_Start函数应如下所示。
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);//new line for webapi
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
3-现在添加一个新的apicontroller,如下所示。
public class TestController : ApiController
{
public IHttpActionResult GetAll()
{
return Json("test");
}
}
4- Api网址将类似于“ http://localhost:61012/api/Test/GetAll”
5-不要忘记添加此nuget包:Microsoft.AspNet.WebApi