DEV Community

Mohamed Fakhr
Mohamed Fakhr

Posted on

RESTful APIs

First, what is the difference between RESTful APIs and REST APIs?
REST API:

  • Used for simple projects and doesn't require a complex system.
  • It offers flexibility and is easy to implement, especially for smaller applications or quick prototypes.
  • Based on REST principles, but not strictly following all constraints.
  • Might use POST or GET for all data transfers.
  • Can represent resources in various formats (XML, JSON, HTML, etc.)
  • Can be flexible and varied (e.g., /deleteUser?id=5).

RESTful APIs:

  • Used for large-scale, Complex Applications.
  • For performance and scalability if the project requires optimized performance with high scalability and handles large volumes of data and high traffic.
  • Strictly according to REST standards.
  • Strictly uses HTTP methods in a RESTful manner (GET, POST, PUT, DELETE)
  • Follows a uniform format for resources, typically JSON or XML
  • Uses a standardized and uniform URL structure (e.g., DELETE /users/5).

Representational state transfer (REST) is a set of architectural principles that define how to build application programming interfaces (APIs), which allow data to be communicated between web applications.

When a request for data is sent to a REST API, it’s usually done through hypertext transfer protocol (commonly referred to as HTTP).
Once a request is received, APIs designed for REST (called RESTful APIs or RESTful web services) can return messages in a variety of formats: HTML, XML, plain text, and JSON.
In this way, RESTful APIs are more flexible and can be easier to set up.

Note: JSON (JavaScript Object Notation) is favored as a message format because it can be read by any programming language, is human- and machine-readable, and is lightweight.

REST supports all HTTP methods: GET, POST, PUT & DELETE.
GET: Retrieve particular resources by an ID
POST: Create a new resource.
PUT: Update a particular resource by an ID.
DELETE: Remove a particular resource.

Note about PUT & PATCH:
PUT is used when you have all the updated data, while PATCH is suitable for partial updates.

Top comments (0)