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

时间:2017-12-13 13:49:58

标签: c# asp.net-core-mvc asp.net-core-2.0 asp.net-core-webapi

我有一个像这样的控制器动作:

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

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

有没有办法得到我期待的行为?

1 个答案:

答案 0 :(得分:2)

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

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