繁体   English   中英

使用字符串参数 .NET core 从路由中排除控制器

[英]Exclude controller from route with string param .NET core

我想要一个看起来像这样的端点:localhost:5000/abc123

这基本上是为了复制tinyurl的功能。

控制器

[HttpGet("/{myString}")]
public async Task<IActionResult> Get(string myString)
{}

这有效,但现在所有文件都通过此控制器,例如:localhost:5000/runtime.js 等

这只能对某些字符串执行吗?

使用路由约束来过滤myString

例如,如果文件名是包含点的字符串. 在您的情况下是一个有效的建议,您可以使用以下regex来接受字母数字字符串

[HttpGet("/{myString::regex(^\\w+$)}")]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM