2015-08-04 4 views
2

У меня есть проект web api, и у меня есть * .html-страница, и мне нужно запустить его после запуска моего проекта, но я не знаю, как это сделать. В MVC я использую MapRoute так:web api start html page

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

Но я не знаю, как это сделать в Web API. У меня есть следующие маршруты config:

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

и как добавить другую конфигурацию для запуска моей страницы html? Спасибо.

ответ

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"); 
     } 
    } 
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 } 
      ); 

Теперь просто написать маршрут к статическому файлу

+0

Thnaks, но как отобразить html-страницу. Как-то вроде этого return View («Index.html»); ? В web api –

+0

О, .... Плохая идея. API для возврата данных. Если вы попробуете вернуться - возможно, у вас плохая архитектура. Вы можете попробовать некоторые трюки в Google, но опять же - это плохая идея. – David

+0

Хорошо, спасибо, я пытаюсь использовать что-то еще! –