REST is a style of software architecture for distributed systems, such as the World Wide Web. Due to its simpler style, over the past few years REST has increasingly displaced other design models such as WSDL and SOAP, and at the same time has emerged as a predominant Web service design model. A RESTfull web service, also known as RESTful web API, is a web service implemented using the HTTP protocol and the principles of REST. Basically it is a group of resources, with four defined aspects:

  • The base URI for the web service. An example http://example.com/resources/
  • The Internet media type of the data supported by the web service. The most popular are: JSON and XML, but can be any other valid Internet media type.
  • The set of operations supported by the web service using HTTP methods such as: GET, PUT, POST, DELETE, PATCH, HEAD, or OPTIONS.
  • The API must be hypertext driven