Bird
Raised Fist0
Postmantesting~15 mins

Why HTTP methods define API intent in Postman - Automation Benefits in Action

Choose your learning style10 modes available
Verify API behavior for different HTTP methods
Preconditions (2)
Step 1: Send a GET request to https://api.example.com/items
Step 2: Verify the response status code is 200
Step 3: Send a POST request to https://api.example.com/items with JSON body {"name": "NewItem"}
Step 4: Verify the response status code is 201 and response body contains the new item
Step 5: Send a PUT request to https://api.example.com/items/1 with JSON body {"name": "UpdatedItem"}
Step 6: Verify the response status code is 200 and response body reflects the update
Step 7: Send a DELETE request to https://api.example.com/items/1
Step 8: Verify the response status code is 204 and the item is deleted
✅ Expected Result: Each HTTP method performs its intended action: GET retrieves items, POST creates a new item, PUT updates an existing item, DELETE removes an item, with correct status codes and responses.
Automation Requirements - Postman Tests
Assertions Needed:
Status code matches expected for each HTTP method
Response body contains expected data after POST and PUT
Item is no longer retrievable after DELETE
Best Practices:
Use environment variables for base URL
Write clear and concise test scripts in Postman
Chain requests using Postman collection runner
Validate both status codes and response bodies
Automated Solution
Postman
pm.test('GET /items returns 200', function () {
    pm.response.to.have.status(200);
});

pm.test('POST /items returns 201 and new item', function () {
    pm.response.to.have.status(201);
    const jsonData = pm.response.json();
    pm.expect(jsonData).to.have.property('name', 'NewItem');
});

pm.test('PUT /items/1 returns 200 and updated item', function () {
    pm.response.to.have.status(200);
    const jsonData = pm.response.json();
    pm.expect(jsonData).to.have.property('name', 'UpdatedItem');
});

pm.test('DELETE /items/1 returns 204', function () {
    pm.response.to.have.status(204);
});

This Postman test script verifies the API intent defined by HTTP methods.

Each pm.test block checks the status code matches the expected one for the HTTP method used.

For POST and PUT, it also checks the response body to confirm the item was created or updated correctly.

DELETE is verified by checking the 204 No Content status code.

Using these tests ensures the API behaves as intended for each HTTP method, reflecting their purpose.

Common Mistakes - 4 Pitfalls
Not verifying the response body after POST or PUT requests
Using the wrong HTTP method for the intended action
Hardcoding URLs instead of using environment variables
Not checking the status code in tests
Bonus Challenge

Now add data-driven testing with 3 different item names for POST requests

Show Hint

Practice

(1/5)
1. Which HTTP method is typically used to retrieve data from an API without changing any data?
easy
A. PUT
B. GET
C. DELETE
D. POST

Solution

  1. Step 1: Understand the purpose of HTTP methods

    GET is used to request data without modifying it, making it safe and idempotent.
  2. Step 2: Match method to action

    Since the question asks for retrieving data without changes, GET fits perfectly.
  3. Final Answer:

    GET -> Option B
  4. Quick Check:

    Retrieve data = GET [OK]
Hint: GET is for reading data only, no changes [OK]
Common Mistakes:
  • Confusing POST with GET for data retrieval
  • Thinking DELETE retrieves data
  • Using PUT instead of GET for reading
2. Which of the following is the correct syntax to send data to create a new resource using Postman?
easy
A. Use GET method with a request body
B. Use PUT method without a request body
C. Use DELETE method with a request body
D. Use POST method with a request body

Solution

  1. Step 1: Identify method for creating resources

    POST is the standard HTTP method to create new resources and it requires a request body with data.
  2. Step 2: Check syntax correctness

    GET should not have a body, DELETE is for removing, and PUT usually updates or replaces resources with a body.
  3. Final Answer:

    Use POST method with a request body -> Option D
  4. Quick Check:

    Create resource = POST + body [OK]
Hint: POST creates with data in body, GET never has body [OK]
Common Mistakes:
  • Trying to send body with GET method
  • Using DELETE to create data
  • Assuming PUT never needs a body
3. Consider this Postman request using PUT method to update a user profile. What is the expected behavior?
medium
A. It replaces the entire user profile with the provided data.
B. It partially updates the user profile fields.
C. It creates a new user if the user ID does not exist.
D. It deletes the user profile.

Solution

  1. Step 1: Understand the PUT method intent

    PUT is used to replace the entire resource at the given URL with the data sent in the request.
  2. Step 2: Differentiate from PATCH and DELETE

    PATCH partially updates, DELETE removes, and PUT replaces fully or creates if missing.
  3. Final Answer:

    It replaces the entire user profile with the provided data. -> Option A
  4. Quick Check:

    PUT = full replace [OK]
Hint: PUT replaces whole resource, PATCH updates parts [OK]
Common Mistakes:
  • Confusing PUT with PATCH for partial updates
  • Thinking PUT deletes data
  • Assuming PUT never creates new resource
4. You sent a PATCH request in Postman to update a user's email, but the entire user data was overwritten instead. What is the likely cause?
medium
A. The server treats PATCH like PUT and replaces the whole resource.
B. PATCH requests cannot update email fields.
C. You used GET method instead of PATCH.
D. The request body was empty.

Solution

  1. Step 1: Understand PATCH vs PUT behavior

    PATCH is meant for partial updates, but some servers treat PATCH like PUT and replace the entire resource.
  2. Step 2: Analyze the problem

    Since the entire data was overwritten, the server likely did not handle PATCH correctly and replaced the resource.
  3. Final Answer:

    The server treats PATCH like PUT and replaces the whole resource. -> Option A
  4. Quick Check:

    Server misinterprets PATCH as PUT [OK]
Hint: Server may treat PATCH as full replace (PUT) [OK]
Common Mistakes:
  • Assuming PATCH cannot update specific fields
  • Confusing PATCH with GET method
  • Ignoring empty request body possibility
5. You want to design an API endpoint in Postman that safely deletes a user but only if the user exists. Which HTTP method and response status code combination best defines this intent?
hard
A. Use GET method and return 204 No Content
B. Use POST method and return 200 OK always
C. Use DELETE method and return 404 Not Found if user missing
D. Use PUT method and return 201 Created

Solution

  1. Step 1: Choose correct HTTP method for deletion

    DELETE is the standard method to remove resources safely.
  2. Step 2: Select appropriate response code for missing resource

    If the user does not exist, returning 404 Not Found clearly informs the client.
  3. Final Answer:

    Use DELETE method and return 404 Not Found if user missing -> Option C
  4. Quick Check:

    Delete + 404 if missing = safe API [OK]
Hint: DELETE removes; 404 means resource not found [OK]
Common Mistakes:
  • Using POST to delete resources
  • Returning 200 OK even if user missing
  • Using GET or PUT incorrectly for deletion
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard