【发布时间】:2013-01-07 01:47:08
【问题描述】:
我已经使用 VS2012 创建了 ASP.NET MVC Web API 项目的 hello world:
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
public string Get(int id)
{
return "value";
}
}
向该控制器发出 get 请求会返回一些 XML 数据,状态为 200。到目前为止一切正常。
当我删除该方法时,如下所示:
public class ValuesController : ApiController
{
// GET api/values
//public IEnumerable<string> Get()
//{
// return new string[] { "value1", "value2" };
//}
// GET api/values/5
public string Get(int id)
{
return "value";
}
}
然后我得到一个 404 未找到。我想要的是 400 错误请求,因为必须提供 ID。我怎样才能做到这一点?
【问题讨论】:
-
你想要的是错误的。 404 是正确的状态码。
-
@SLaks:同意,但 400 是业务要求。他们认为它传递了一个空白 ID,就像传递一个 alphanum 字符串而不是 int 字符串一样。
标签: asp.net-mvc-4 asp.net-web-api