In this article of mine,
ASP.NET 5 Web API RESTful CRUDs and Windows 10 native application[
^], I have talked about the HTTP verbs, POST and PUT. The problem is not with using which one, the problem is how to use the HTTP verbs in a way that they are meant to be used.
Using bad practices, I can upload something, update something or even create a new record all using the GET method HTTP request. I can pass the data which is to be saved as a query string and there, it is saved. That is not the good way of using the HTTP verbs when you are going to publish the API someday for public. That is why, you should always go and read the actual documentations before doing something.
Anyways, the HTTP verbs are used as:
1. HTTP GET: For requesting to get the resource at that URI.
2. HTTP DELETE: For requesting to delete the resource at that URI.
3. HTTP POST: For requesting to upload and save the data being uploaded to the data. Server then stores the entity and provides a new URI for that resource.
4. HTTP PUT: Same as POST but with a condition that it checks if that resources is already saved. If that resource is available then it simply updates.
These are the differences in the HTTP verbs that everyone should know and should write their web APIs using HTTP as protocol, accordingly.
For more on this, please refer to the following documents.
Hypertext Transfer Protocol - Wikipedia, the free encyclopedia[
^]
HTTP Methods[
^]
HttpVerbs Enumeration (System.Web.Mvc)[
^] (For understanding only)