What Is REST and RESTful API

Q

What Is REST and RESTful API?

✍: FYIcenter.com

A

REST (Representational State Transfer) is style of software architecture that follows these constraints:

1. Client-Server Architecture - The software is divided into two components: the client component that interacts with end users with data presentation and data input, and the server component that stores data and applies business logics.

2. Statelessness - The client–server communication is stateless. So each request from any client contains all the information necessary for the server to respond.

3. Cacheability - Server should try to provide responses that are cacheable by clients or intermediaries to improve scalability and performance.

4. Layered System - Intermediary servers are allowed to be introduced between clients and the server to improve scalability and performance, or to add additional functionalities.

5. Code on Demand - Executable codes (for example JavaScript) can be returned in responses from the server for clients to provided extended functionalities.

6. Uniform Interface - The client-server interface should meet the following standards:

  • Resource identification in requests - Clients can identify For example, http://amazon.com/order/123456 is a HTTP URL used as a client request identifying a specific order on the server.
  • Resource manipulation through representations - If server returns a representation of a resource to a client, the client should have enough information to manipulate the resource through subsequent requests.
  • Self-descriptive messages - Request and response messages should be self-descriptive.
  • Hypermedia As The Engine Of Application State (HATEOAS) - Server should return responses with hyper-links to allow clients to make subsequent requests to continue interacting with server.

RESTful API refers the client-server API of a REST compliant software.

 

Terminologies Used in RESTful API

Testing REST API with SoapUI

Testing REST API with SoapUI

⇑⇑ SoapUI Tutorials

2018-03-31, 1082🔥, 0💬