首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NETMVC:如何指定以特定url开头、以特定URL结尾的路由?

ASP.NETMVC:如何指定以特定url开头、以特定URL结尾的路由?
EN

Stack Overflow用户
提问于 2022-07-27 17:00:38
回答 1查看 140关注 0票数 -1

我有一个有几个端点的MVC控制器。其中之一应该匹配以下所有urls:

  1. proxy/spell-checker/a/check
  2. proxy/spell-checker/a/b/check
  3. proxy/spell-checker/a/b/c/check

因此,我的端点应该匹配以“代理/拼写检查器”开头、以"check“结尾的所有路由。

编辑:这个端点是用于代理的。它应该执行对“代理/拼写检查器”和“检查”之间定义的相对资源的重定向。所以,a,b,c不是参数。这是相对路径。这是不一致的!它可能是c/b/a/d/e或d/a/c,等等。我知道这很奇怪,但这是UI库生成的,我不能更改它。

下面的代码抛出异常“一个捕获所有参数只能显示为路由模板的最后一部分”:

代码语言:javascript
复制
[HttpPost, Route(template: "proxy/spell-checker" + "/{*url}" + "/check")]
public async Task<HttpResponseMessage> Check(...)
{
    ...
}

如何指定正确的路由模板?

EN

回答 1

Stack Overflow用户

发布于 2022-07-27 18:08:49

没有什么比这更简单了

代码语言:javascript
复制
[Route("~/proxy/spell-checker/{a}/{check}")]
[Route("~/proxy/spell-checker/{a}/{b}/{check}")]
[Route("~/proxy/spell-checker/{a}/{b}/{c}/{check}")]
public async Task<HttpResponseMessage> Check(string a, string b, string c, string check)

如果a,b,c不是参数,而是常量,则只需删除{}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73141934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档