0

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

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

控制器

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

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

这可能只适用于某些字符串吗?

4

1 回答 1

0

使用路由约束过滤值myString

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

[HttpGet("/{myString::regex(^\\w+$)}")]
于 2021-07-15T21:43:36.367 回答