7

I'm just starting to use Web API and though I found it really easy to create the methods and some configurations I needed, now I run into a problem I don't know how to solve.

Some of the applications that will consume my services are very old and don't support DELETE and PUT methods (j2me applications for example)

I have found that it is possible to do some kind of method emulation by passing something like this :

_method=DELETE|PUT 

However, I'm not really sure if Web API will be able to interpret this and besides, I don't have the faintest idea how to do it. For those reasons I'm thinking in just using POST methods to handle updates and deletes. Having said that, what complications can I expect from not using all the standard methods??

As always any help will be GREATLY appreciated

Thanks in advance.

P.D. It it'd be great if anyone knew how to make the a POST with a _method be routed to the DELETE() or PUT()

eddy
  • 4,373
  • 16
  • 60
  • 94

2 Answers2

5

This is fairly common and there is even a somewhat standard http header for it. It's called "http method override" and you'll find some good stuff in this question X-HTTP-Method-Override gives NotFound (404) on ASP.NET Web API

Community
  • 1
  • 1
Robert Levy
  • 28,747
  • 6
  • 62
  • 94
3

Thanks to Robert Levy I knew how this problem was called. Once I knew what the problem was , I did a little googlig and in this blog I found how to solve it:

http://www.hanselman.com/blog/HTTPPUTOrDELETENotAllowedUseXHTTPMethodOverrideForYourRESTServiceWithASPNETWebAPI.aspx

eddy
  • 4,373
  • 16
  • 60
  • 94
  • Whilst this may theoretically answer the question, [it would be preferable](//meta.stackoverflow.com/q/8259) to include the essential parts of the answer here, and provide the link for reference. – Clint Apr 11 '18 at 16:00