RESTful API

API  (application programming interface) is a set of tools by which one application interacts with another. Here is a simple diagram provided by MLSDev which explain what REST API is.

A simple definition of RESTful API can easily explain the notion. REST is an architectural style, and RESTful is the interpretation of it. That is, if your back-end server has REST API and you make client-side requests (from a website/application) to this API, then your client is RESTful.

REST API stands for REpresentational State Transfer Application Programming Interface. It is an architectural style for distributed hypermedia systems. That’s how it was described when it was presented in 2000 by Roy Fielding.

Ok, we all know what hyperlink is. But what is these “distributed hypermedia systems”? Hypermedia is pretty much everything we see on the Internet including hyperlinks and hypertext which means more than just text is capable of being hyperlinked, such as graphics, videos, and music files.  Simply put, the Web is a system of hyperlinked hypermedia. In other words, “distributed hypermedia systems” is a general term and the World Wide Web is an example of it. Smartbear.com explains REST API through the following:

Many (but not all) APIs relying heavily on HTTP can be considered “RESTful,” and REST is typically used as an alternative style in which to read and write Web services and APIs, alongside programming standards such as SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language), and RPC (Remote Procedure Call). Most significantly, because REST APIs almost always use HTTP syntax—including the verbs GET, PUT, POST, etc.—they are widely considered to be the definitive form of hypermedia APIs.

According to restfulapi.net,

RESTful APIs enable you to develop any kind of web application having all possible CRUD (create, retrieve, update, delete) operations. REST guidelines suggest using a specific HTTP method on a specific type of call made to the server (though technically it is possible to violate this guideline, yet it is highly discouraged).

But put more simply, in terms of its use in RESTful APIs, CRUD is the standardized use of HTTP Action Verbs. For each of these functions, there’s something that we need to check whether it has been returned from the server. The response includes whether it was successful or not and potentially some other information. Usually, the response is simply either success or failure.

 

WORK CITED

“A Beginner’s Tutorial for Understanding RESTful API.” Mlsdev.com, mlsdev.com/blog/81-a-beginner-s-tutorial-for-understanding-restful-api.

“Hypertext Transfer Protocol.” Wikipedia, Wikimedia Foundation, 10 Feb. 2019, en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods.

“What Is Hypermedia?” SmartBear.com, smartbear.com/learn/api-design/what-is-hypermedia/.

“REST.” REST API Tutorial, restfulapi.net/http-methods/#get.

The following Lynda Tutorials were super helpful as well: iOS App Development:RESTful Web Services.