web api开始html页
我有web api项目,我有*.html页面,我需要在运行项目后运行它,但我不知道怎么做。 在MVC中,我使用MapRoute如下:web api开始html页,html,asp.net-web-api,routing,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 }
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
但我不知道如何在WebAPI中实现它。我有下一个配置:
config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{action}/{id}", new { id = RouteParameter.Optional });
以及如何为运行我的html页面添加其他配置?
谢谢。此代码说明了如何添加新路由:
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 }
);
现在只需将路由写入静态文件我在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");
}
}
public类DefaultController:ApiController
{
///
///渲染招摇UI的默认控制器
///
///
[HttpGet,Route(“”)
公共结果索引()
{
var requestUri=Request.requestUri;
返回重定向(requestUri.AbsoluteUri+“swagger/ui/index”);
}
}
Thnaks,但如何呈现html页面。有人会这样想:返回视图(“Index.html”)?在网络上……这是个坏主意。返回数据的API构建。如果您尝试返回视图,可能您的架构不好。你可以在谷歌上尝试一些技巧,但同样——这是个坏主意。没问题。祝你好运