As Software
Testers, we have to deal with APIs while working on any application.
Understanding HTTP methods plays a crucial role when working with APIs.
However, these technical concepts can be difficult to grasp at first. To make
things easier, let's take a simple and relatable analogy: dining at a
restaurant. 😍
🎯 Reading the Menu card (GET, fetching data) – 📖🍽️
Let’s imagine you
walk into a restaurant, sit down, and pick up the menu card. You browse through
the options but haven’t placed an order yet. You are simply retrieving
information about what’s available. This is exactly what the GET method does,
it fetches data from a Server without modifying it.
✔ API Request: GET /menu
✔ Action: Retrieves a list of available
dishes without making any changes.
🎯 Placing an Order (POST, creating a new resource) – 📝🍲🍛🍱
Now let’s assume
that after looking at the mouthwatering menus, you have decided what to eat,
you call the waiter and place your order. This is a new request to the kitchen,
and a new dish will be prepared for you. Similarly, the POST method is used to
create a new resource on the Server.
✔ API Request: POST /orders
✔ Action: Submits a new food order, and
the kitchen starts preparing it.
🎯 Changing your Order completely (PUT, updating a resource entirely) - 🔄🥗🍕🍟
You suddenly
realize you want a different dish. It happens, isn’t it? 😝 Then you call the
waiter and ask to change your order entirely before it reaches the kitchen. The
previous order is completely replaced with a new one. This is how the PUT
method works, it updates an existing resource by replacing it entirely.
✔ API Request: PUT /orders/123
✔ Action: Replace the old order with a
new dish.
🎯 Cancelling your Order (DELETE, removing a resource) - ❌🚶♂️
After waiting for
some time and realizing that your order is delayed due to certain reasons, you
decide to cancel your meal to meet your time commitments. You call the waiter
and cancel your order. This removes the request from the system, just like the
DELETE method, which removes a resource from the Server.
✔ API Request: DELETE /orders/123
✔ Action: Cancel the food order and
remove it from the system.
Just like dining at a restaurant, API communication relies on structured requests and responses to ensure smooth interactions. Understanding HTTP methods through this analogy makes it easier to grasp how APIs function in real-world applications. Next time you are working with an API, just think of it as a restaurant experience. 🍽️😀
If you have found this helpful, please consider sharing it with fellow Software Testers.
If you would like to stay in touch, feel free to connect with me on LinkedIn.
Happy Software Testing, Keep Learning, Keep Growing 👍