tôi đã tạo ra hello world các dự án ASP.NET MVC web API sử dụng VS2012:Trở 400 chứ không phải 404 từ ASP.NET MVC Web API
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";
}
}
Ban hành một yêu cầu get để điều khiển trả về một số XML của dữ liệu có trạng thái 200. Tất cả đều tốt cho đến nay.
Khi tôi loại bỏ phương pháp đó, như thế này:
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";
}
}
Sau đó tôi nhận được một 404 không tìm thấy. Những gì tôi muốn là một yêu cầu xấu 400, bởi vì một ID phải được cung cấp. Làm thế nào tôi có thể đạt được điều này?
Điều bạn muốn là sai. 404 là mã trạng thái chính xác tại đây. – SLaks
@SLaks: Đồng ý, nhưng 400 là yêu cầu kinh doanh. Họ nhìn thấy nó như đi qua một ID trống, giống như đi qua một chuỗi chữ cái chứ không phải là chuỗi int. – sennett