Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net web api Web Api帮助页路由_Asp.net Web Api - Fatal编程技术网

Asp.net web api Web Api帮助页路由

Asp.net web api Web Api帮助页路由,asp.net-web-api,Asp.net Web Api,我最近的任务是修复我们的一个已关闭的帮助页面。我以前从来没有做过一个,所以我跳了进去,开始玩它。我注意到我们为帮助页面设置了以下路径: public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "HelpPage_Default", "api/v1/Help/{action}/{apiId}",

我最近的任务是修复我们的一个已关闭的帮助页面。我以前从来没有做过一个,所以我跳了进去,开始玩它。我注意到我们为帮助页面设置了以下路径:

public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "HelpPage_Default",
            "api/v1/Help/{action}/{apiId}",
            new { controller = "Help", action = "Index", apiId = UrlParameter.Optional });

        HelpPageConfig.Register(GlobalConfiguration.Configuration);
    }
我将它与另一个工作帮助页面路径进行了比较,发现url不同。我将url更改为

"Help/{action}/{apiId}"
它成功了。我在网上做了一些研究(),但仍然不明白为什么更改url会对该页面是否会被点击产生任何影响。对我来说,如果我访问mydomain.com/api/v1/Help,我仍然会使用原始url点击帮助页面,这是有道理的

提前谢谢。

路由您拥有的“api/v1/Help/{action}/{APID}”这是错误的,因为路由的格式应该是[Controller]/[action]/[Id],而您的控制器是Help而不是“api/v1”

为了回答您关于“mydomain.com/api/v1/Help”的问题,如果您在路径中提供“Help/{action}/apidid”url,则该url将进入帮助页面


“api/v1”在这里是您的IIS虚拟目录设置,而不是应用程序配置中的路由。

当您说更改url时,您是指“api/v1/Help/{action}/{APID}”到“Help/{action}/{APID}”吗?注意“api/v1/…”路由模式是专门为asp.net web api设计的,而不是为MVC页面设计的。@Prashant是的,这是我所做的更改。你能详细说明一下吗?路由你拥有的“api/v1/Help/{action}/{apiId}”这是错误的,因为路由的格式应该是[Controller]/[action]/[Id],而你的控制器是Help而不是“api/v1”。为了回答您关于“mydomain.com/api/v1/Help”的问题,这个url进入帮助页面,如果您在路径中给出“Help/{action}/apidid”url,它会出现。api/v1在此之前是您的IIS虚拟目录设置,而不是您的应用程序配置。好的,谢谢您提供的信息!如果您将其添加为答案,我将很高兴将其标记为问题的“答案”: