我遇到ASP.NET WebAPI问题。我想保留RESTful API,所以我在一个控制器中创建了一些api,例如:
/api/user/
- userslist /api/user/{id}
- 用户/api/user/{id}/books
- 获取用户的所有图书/api/user/{id}
- 删除用户/api/user/{id}/books
- 删除用户'书籍所有Get
方法都可以正常工作,但只有一个Delete
方法可以正常工作,当另一个方法被调用时,它会得到405
个响应。你可以帮帮我吗 ?
感谢。这是我的控制器
[RoutePrefix("api/Car")]//AttributeRouting asp.net 4.0 (not 5.0)
public class CarController : ApiController
{
public CarInfoPagedList GetCarInfos(int page = 0, int limit = 10)
{
var list = new CarInfoPagedList();
return list;
}
[HttpRoute("{id}")]
public string GetCarById(string id, string time = " ")
{
return "some";
}
[HttpRoute("{id}/runtime")]
public CarState GetCarRuntime(string id) {
return new CarState(id);
}
[DELETE("{id}")]//405
public void DeleteCar(string id)
{
//TODO:remove car
}
[DELETE("{id}/terminal/{terminalId}")]//work fine
public void Delete(string id, string terminalId)
{
}
[PUT("{id}/")]//405
public void PutCar(string id, CarInfo car)
{
}
[PUT("{id}/terminal/{terminalId}")]//work fine
public void Put(string id, string terminalID)
{
}
}