Web api - 如何使用 slugs 进行路由?

2023-12-10

我希望能够解析像这个问题这样的链接:

http://stackoverflow.com/questions/31223512/web-api-how-to-route-using-slugs

所以简单地在服务器上路由ignoringURL 的最后一部分。作为使用这个问题的示例,如果有人输入这样的 URL,我如何正确实现路由,它会将我重定向到:

http://stackoverflow.com/questions/31223512

参考资料:处理 URL 模式中可变数量的段

有时您必须处理包含变量的 URL 请求 URL 段的数量。当您定义路线时,您可以指定 如果 URL 的段数多于模式中的段数,则额外的 段被认为是最后一个段的一部分。处理 以这种方式附加段,您可以用一个标记最后一个参数 星号 (*)。这被称为包罗万象的参数。一条路线 带有 catch-all 参数的 URL 也会匹配不包含 最后一个参数的任何值。

基于约定的路线可以映射为...

config.Routes.MapHttpRoute(
    name: "QuestionsRoute",
    routeTemplate: "questions/{id}/{*slug}",
    defaults: new { controller = "Questions", action = "GetQuestion", slug = RouteParameter.Optional }
);

或者,使用属性路由,路由可能看起来像......

[Route("questions/{id:int}/{*slug?}")]

这都可以匹配示例控制器操作......

public IActionResult GetQuestion(int id, string slug = null) {...}

示例网址...

"questions/31223512/web-api-how-to-route-using-slugs"

然后将参数匹配如下......

  • id = 31223512
  • slug = "web-api-how-to-route-using-slugs"

并且因为slug是可选的,上面的 URL 仍然会匹配到

"questions/31223512"

这应该满足您的要求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Web api - 如何使用 slugs 进行路由? 的相关文章

随机推荐

  • 为什么边框会导致 div 溢出容器?

    我有一个部分设置为固定宽度 其内部有一个 100 宽度的 div 边框为 5 像素 看起来不错 但您可以看出包含的 div 有点偏离中心 而且它不会没有边框 我需要将其与客户端组件相匹配 代码相当简单 info max width 980p
  • 我可以在Xcode模拟器中测试加速度计效果吗?

    我正在开发一个管理图像视图的 alpha 属性的应用程序 当用户移动手机时 Alpha 属性可以增加 减少 我在这里看到了一些关于使用 UIAccelerometer 子类的内容 谁能帮我做到这一点 以便我可以在模拟器上测试它 谢谢 您不能
  • 将视图添加到操作表中

    我可以将自定义 UIViewController 添加到 ActionSheet 中吗 thanks 终于我找到了它 我在 UIActionSheet 中添加了一个 UIViewController 子类的视图 我在单独的文件中创建了一个视
  • 如何解决“以下软件包具有未满足的依赖关系”

    我正在使用这个脚本来安装基本软件 但由于网速缓慢而不得不中断 现在当我击中 sudo apt get install npm 我收到以下错误 yask123 yaskslaptop sudo apt get installed npm E
  • GCC,比较使用 -O2 和使用它打开的所有优化标志的效果

    From gcc5 4文档 它说 O2 打开 O 指定的所有优化标志 它还打开以下优化标志 f线程跳转 falign 函数 falign 跳跃 falign 循环 falign 标签 fcaller 保存 f越野跳跃 fcse follow
  • Linq to sql,在 datagridview 中过滤结果

    我有一个非常简单的数据库 我正在使用 linq to sql 我有一个 datagridview 来显示表的内容 我希望用户能够过滤出现在 datagridview 中的行 如果可能的话 无需对数据库进行另一个查询 我的资源确实很少 因此解
  • UICollectionViewCell 内带有 UITableView 的自定义单元格

    我有一个用于 UICollectionView 的自定义 UICollectionViewCell 我已将此自定义类标记为 UITableViewDataSource 和 UITableViewDelegate 以便将 UITableVie
  • 需要用 C 语言构建简单的 DNS 解析器 [重复]

    这个问题在这里已经有答案了 可能的重复 如何用 C C 构建自定义简单 DNS 服务器 正如标题所说 我需要用 C 语言构建一个简单的 dns 解析器 不是 C 我在互联网上查找了一些教程来帮助我入门 但大多数都找到了 C 想知道是否有人知
  • EventSource .net 4.0 生成清单

    我一直在尝试在 net 4 0 中使用 ETW 我已经开始使用 Microsoft EventSource Library 1 0 4 beta https www nuget org packages Microsoft Diagnost
  • 尝试了解输入验证循环

    在此输入验证 while 循环中 在调用我的控制台输出后显示 cerr 它显示为 输入费率 无效费率 例如 Enter rate 750 Enter rate Invalid Rate 它与 do while 循环的作用相同 有什么建议或帮
  • Angular 2 ngIf 和 CSS 过渡/动画

    我想要一个 div 使用 css 从角度 2 右侧滑入 div class note p Notes p div
  • Javascript 函数打印 .innerHTML 但 HTML 只出现一会儿就消失了

    我有一个调用名为 submit 的 javascript 函数的按钮 在该函数中 我只需编写 document getElementById try innerHTML it Work 测试我的按钮是否正在将数据传递给函数 问题是 它有效
  • 如何在phonegap中同时选择多个文件

    我在这里用谷歌搜索并搜索 我没有找到任何与phonegap中的多个文件选择器或选择器相关的选择解决方案 目前我可以在phonegap 适用于Android 中一次选择单个文件 无需任何插件用它来获取文件 如何在 PhoneGap 中一次选取
  • 如何将通过C++中的另一个类添加的数据显示到ListView、QML?

    我需要呈现 QLinkedList 容器中的所有数据 这是由任务给出的 我创建了两个类 DataObject 用于 ListView 中的委托 Glav 用于包含 DataObject 对象的容器 我有一个按钮 可以通过它向容器添加数据 G
  • 在 Visual Studio 2019 中禁用工具提示

    将鼠标悬停在 C 文件中的每一段文本上都会弹出一个 提示 有谁知道如何删除这些提示 如果您能告诉我如何从 Visual Studio 2019 中的每个窗口中全局删除所有工具提示 那就加分了 Visual Studio 没有关闭工具提示的设
  • C++11 中的隐式构造函数参数转换

    让我们考虑以下代码 class A public A int x class B public B A a int main B b 5 return 0 在编译时 编译器抱怨 home test main cpp 80 candidate
  • 使用 PHP 连接到 EPP 服务器,使用 SSL

    我即将连接到安全 EPP 服务器并发送 XML 请求 然后再次接收 XML 格式的响应 我需要在 PHP 中执行此操作 因此 我需要使用 SSL 证书通过 TCP 连接到特定端口上的 EPP 服务器 因为这是我到目前为止所掌握的信息 仍在等
  • node.js socket.io room 用户总数

    我正在尝试计算特定房间中的用户总数并将其广播给该房间中的所有人 这是我所拥有的 但出现错误 var clients io sockets clients cc lowerCase data roomname length io socket
  • 如何在画布上保存图像和文本

    我制作了一个画布并在画布上绘制了图像我还在上面绘制了一些文本 帆布 图像和文本现在都是独立的 我想要那个 当我 绘制应打印在图像上的文本 我可以保存现在的图像和文本 在图像上 我想在另一个活动中发送带有文本的图像 here is my co
  • Web api - 如何使用 slugs 进行路由?

    我希望能够解析像这个问题这样的链接 http stackoverflow com questions 31223512 web api how to route using slugs 所以简单地在服务器上路由ignoringURL 的最后