我已经为应用程序开发了一个API,并且我已经设置了所有路由,但是当用户请求错误的操作时,服务器默认返回404并且我试图找到某种方式来改变它但我没有找到任何东西。 ..
所以,让我说我有一个api与以下路线:
/api/school/1/classes
如果客户请求
/api/school/1/classez
我想返回响应代码501或405而不是默认的404。 怎么办呢?
答案 0 :(得分:0)
使用路线属性。
[HttpGet]
[Route("api/{id}/foo")]
public HttpResponseMessage foo(int id)
{
var response = new ApiResponse();
response.StatusCode = HttpStatusCode.OK;
return response;
}
[HttpGet]
[Route("api/{id}/{route}")]
public HttpResponseMessage bar(int id)
{
var response = new ApiResponse();
response.StatusCode = HttpStatusCode.BadRequest;
return response;
}
如果他们输入正确,那么它将进入foo。否则他们会进入酒吧,你可以随心所欲地处理它。