gpt4 book ai didi

c# - 使用 AttributeRouting 在 URL 中隐藏区域

转载 作者:太空狗 更新时间:2023-10-30 01:24:09 26 4
gpt4 key购买 nike

我们正在使用 Areas 对用 ASP.NET MVC3 编写的 API 进行版本控制,并使用 AttributeRouting 来定义我们的路由。

现在我们有一个“v1”区域,这是我们的第一个 API 版本。当我们到达 v2 时,我们将复制 v1 并进行修改。

我想对网站使用相同的版本控制,但我不想在路由中使用/v1。

我的问题是,如何在我的 URL 中隐藏区域以便我可以调用

mywebsite.com/Users/1 

代替

mywebsite.com/v1/Users/1

这是我 Controller 中的内容

    [RouteArea("/")]
public class HomeController : Controller
{
//
// GET: /v1/Home/
[GET("")]
public ActionResult Index()
{
return View();
}

}

这是我尝试访问 mywebsite.com/时得到的结果

error

提前致谢!

最佳答案

这样做:

[RouteArea("AreaName", AreaUrl = "")]

默认情况下,区域以区域名称为前缀。 AreaUrl 属性允许您覆盖它。我将在这里更新维基:https://github.com/mccalltd/AttributeRouting/wiki/Areas

抱歉造成混淆!

此外,您不应在通过 AR 定义的任何网址的开头或结尾添加正斜杠。您的堆栈跟踪转储突出显示 MVC 正在查找名为“/”的文件夹中的 View 。如果您想要一个空网址,只需使用“”。

关于c# - 使用 AttributeRouting 在 URL 中隐藏区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10215144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com