在 url 中传递字符串时,整数参数获取默认值

Integer parameter gets default value when passing string in url

我有这样的控制器操作:

[HttpGet("test/{value}")]
public object Get(int value)
{
    return new {value};
}

当我向 http://localhost:53615/test/asdf 发出请求时,我希望不会调用该操作,而是收到 404 响应。但它是用 0 作为值调用的。

有什么方法可以实现我期望的行为吗?

如果找不到匹配项,参数的约束将导致返回 404:

[HttpGet("test/{value:int")]