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 进行路由? 的相关文章

  • 使用来自本地对象的消息的 std::Exception

    以下代码是否可以安全地抛出带有自定义消息的异常 include
  • C# 中的 Culture 相当于 Java 中的 Locale 吗?

    C 使用文化的概念 这在操作上与 Java 中的 Locale 类似吗 或者底层概念是否存在显着差异 从文化而不是语言环境的角度进行工作是一种寻找正确抽象层次的尝试 从以类似方式做事的人群的角度来考虑事物 而不是谈论地理区域和语言 并有点疯
  • HttpResponseMessage 的内容为 JSON

    我有一个 ASP NET MVC WEB API 由于多种原因 由于没有授权而重定向 我不能只使用一个简单的对象并在我的控制器方法中返回它 因此我需要 HttpResponseMessage 类来允许我重定向 目前我正在这样做 var re
  • ZedGraph 缩放和调整大小

    当我绘制图形 放大和缩小并重新绘制图形时 图形的位置不会改变 我想要做的是 每当重新绘制数据时 视图都会更改以查看所有图形数据 如果您在重绘之前放大或缩小 这似乎会被禁用 Thanks 设置属性 IsZoomOnMouseCenter对于控
  • 对相当大的整数的大集合的操作的快速实现

    描述 我实现了以下类 LabSetInt64 参见下面的代码 这里的目标是尽可能快地操作大量大整数 最多 10M 的值 我的主要要求集中在 至关重要 尽快获取集合的大小 基数 重要 能够非常快速地迭代一组集合 所以 从下面的实现开始 我还有
  • 使用 boost::iterator_facade<>

    我有一个链表结构 struct SomeLinkedList const char bar int lots of interesting stuff in here DWORD foo SomeLinkedList pNext 它是现有
  • 整数与双精度算术性能?

    我正在编写一个 C 类来使用整数执行 2D 可分离卷积 以获得比双对应更好的性能 问题是我没有获得真正的性能提升 这是 X 过滤器代码 对于 int 和 double 情况都有效 foreach pixel int value 0 for
  • 为什么测试在 TeamCity 中运行比直接在 NUnit 中运行需要更长的时间?

    我进行了一些 C 性能测试 基本上运行两种不同的方法 并检查一种方法的运行速度是否比另一种方法快得多 当我在 NUnit 本地运行它们时 其中一个测试的运行速度是另一个测试的十倍 因此我有一个 NUnit 测试 它使用Stopwatch检查
  • 使用成员函数作为 std::shared_ptr 的自定义删除器时出现问题

    我正在尝试弄清楚如何将 std shared ptr 与自定义删除器一起使用 具体来说 我将其与 SDL Surface 一起使用 如下所示 std shared ptr
  • 使用 MapViewOfFile 有什么限制吗?

    我正在尝试将内存映射文件用作 hFile CreateFile State Path GENERIC READ FILE SHARE READ FILE SHARE WRITE 0 OPEN EXISTING FILE FLAG SEQUE
  • 编译器在函数名称前添加下划线前缀的原因是什么?

    当我看到 C 应用程序的汇编代码时 如下所示 emacs hello c clang S O hello c o hello s cat hello s 函数名称以下划线作为前缀 例如callq printf 为什么这样做以及它有什么优点
  • 最小对的总和

    Given 2N点 in a 2D plane 你必须将它们分组为N pairs使得所有对的点之间的距离的总和是最小可能值 所需的输出只是总和 换句话说 如果a1 a2 an分别是第一对 第二对 和第 n 对点之间的距离 则 a1 a2 a
  • 使用 for 循环创建链表

    这是我的结构 struct ListItem int data struct ListItem next 假设链表的第一个节点的 data 0 我想编写一个 for 循环来创建大小为 5 的链表 但我不知道如何工作 我尝试了以下方法 int
  • C语言中如何将整数转换为字符? [复制]

    这个问题在这里已经有答案了 C语言中如何将整数转换为字符 C 中的字符已经是数字 字符的 ASCII 代码 无需转换 如果要将数字转换为相应的字符 只需添加 0 即可 c i 0 0 是 ASCii 表中的一个字符
  • 如何从句柄确定进程是 32 位还是 64 位?

    如何从使用 OpenProcess 获取的进程句柄中获取信息 无论进程是 32 位还是 64 位 是的 IsWow64Process 毫无用处 令人烦恼 它的真正意思是 启用了 32 位模拟 如果您在 32 位操作系统上运行 则返回 fal
  • C# 编译器编译 .txt .obj .java 文件

    using System class Program public static void Main Console WriteLine Hello World Console ReadLine 我将文件另存为1 java 2 obj an
  • 使用std::begin()、std::end()将ArrayXd转换为stl向量,

    在我看来我应该能够使用std begin and std end 转换ArrayXd to std vector
  • RabbitMQ + Windows + LDAP 无需发送密码

    我正在尝试在 Windows 7 上使用 RabbitMQ 3 6 2 进行 LDAP 身份验证 授权 我已经在应用程序发送用户名 密码的情况下进行了基本身份验证 但密码位于我需要弄清楚如何进行的代码中避免 有没有人在不提供密码的情况下成功
  • MonoGame 中的 ContentLoadException

    我一直在尝试使用 Xamarin Studio 在 MonoGame 中加载纹理 我的代码设置如下 region Using Statements using System using Microsoft Xna Framework usi
  • Selenium WebDriver 在按钮单击事件上无法正常工作。这里有什么问题呢?

    I am using following code to scrape data from a website I have following interface 这是 HTML div class es content div

随机推荐

  • 为什么边框会导致 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 的最后