web api启动html页面

时间:2015-08-04 14:02:01

标签: html asp.net-web-api routing

我有web api项目,我有* .html页面,我需要在运行我的项目后运行它,但我不知道它是怎么做的。 在MVC中,我使用 MapRoute ,如下所示:

  routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );

但我不知道如何在网络API中做到这一点。我有下一个路线配置:

config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{action}/{id}", new { id = RouteParameter.Optional });

以及如何为运行我的html页面添加其他配置? 感谢。

2 个答案:

答案 0 :(得分:2)

此代码如何添加新路由:

 config.Routes.MapHttpRoute(
                    name: "ApiWithAction",
                    routeTemplate: "api/{controller}/{action}/{id}",
                    defaults: new { id = RouteParameter.Optional }
                );

     config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

现在只需写入静态文件的路径

答案 1 :(得分:1)

我将这个代码用于WebApi项目:

public class DefaultController : ApiController
    {
        /// <summary>
        /// Default controller for render swagger UI 
        /// </summary>
        /// <returns></returns>
        [HttpGet, Route("")]
        public RedirectResult Index()
        {
            var requestUri = Request.RequestUri;
            return Redirect(requestUri.AbsoluteUri + "swagger/ui/index");
        }
    }