Я реализую прототип RESTful API с использованием ASP.NET MVC и, кроме странной ошибки здесь и там, я выполнил все требования, изложенные в начале, за исключением того, что вызывающие абоненты могут использовать X-HTTP-Method-Override
настраиваемый заголовок для переопределения метода HTTP.
Мне бы хотелось, чтобы следующий запрос ...
GET /someresource/123 HTTP/1.1
X-HTTP-Method-Override: DELETE
... будет отправлен в мой метод контроллера, который реализует функциональность DELETE
вместо функциональности GET
для этого действия (при условии, что существует несколько методов, реализующих действие, и что они отмечены различными [AcceptVerbs]
атрибуты). Итак, учитывая следующие два метода, я бы хотел, чтобы вышеприведенный запрос был отправлен во второй:
[ActionName("someresource")]
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult GetSomeResource(int id) { /* ... */ }
[ActionName("someresource")]
[AcceptVerbs(HttpVerbs.Delete)]
public ActionResult DeleteSomeResource(int id) { /* ... */ }
Кто-нибудь знает, возможно ли это? И сколько бы это заняло ...?