Bird
Raised Fist0
Postmantesting~10 mins

Why HTTP methods define API intent in Postman - Test Execution Impact

Choose your learning style10 modes available
Test Overview

This test sends requests using different HTTP methods (GET, POST, PUT, DELETE) to an API endpoint. It verifies that the API responds correctly according to the intent of each HTTP method.

Test Code - Postman
Postman
pm.test("GET request returns 200 and data", function () {
    pm.sendRequest({
        url: pm.environment.get("apiUrl") + "/items",
        method: 'GET'
    }, function (err, res) {
        pm.expect(err).to.eql(null);
        pm.expect(res).to.have.property('code', 200);
        pm.expect(res.json()).to.be.an('array');
    });
});

pm.test("POST request creates new item", function () {
    pm.sendRequest({
        url: pm.environment.get("apiUrl") + "/items",
        method: 'POST',
        header: {'Content-Type': 'application/json'},
        body: {
            mode: 'raw',
            raw: JSON.stringify({name: "NewItem"})
        }
    }, function (err, res) {
        pm.expect(err).to.eql(null);
        pm.expect(res).to.have.property('code', 201);
        pm.expect(res.json()).to.have.property('name', 'NewItem');
    });
});

pm.test("PUT request updates existing item", function () {
    pm.sendRequest({
        url: pm.environment.get("apiUrl") + "/items/1",
        method: 'PUT',
        header: {'Content-Type': 'application/json'},
        body: {
            mode: 'raw',
            raw: JSON.stringify({name: "UpdatedItem"})
        }
    }, function (err, res) {
        pm.expect(err).to.eql(null);
        pm.expect(res).to.have.property('code', 200);
        pm.expect(res.json()).to.have.property('name', 'UpdatedItem');
    });
});

pm.test("DELETE request removes item", function () {
    pm.sendRequest({
        url: pm.environment.get("apiUrl") + "/items/1",
        method: 'DELETE'
    }, function (err, res) {
        pm.expect(err).to.eql(null);
        pm.expect(res).to.have.property('code', 204);
    });
});
Execution Trace - 4 Steps
StepActionSystem StateAssertionResult
1Send GET request to /items endpointAPI server is running and has items dataResponse code is 200 and response body is an arrayPASS
2Send POST request to /items with new item dataAPI server accepts new item creationResponse code is 201 and response body contains the new item namePASS
3Send PUT request to /items/1 to update item nameAPI server updates item with id 1Response code is 200 and response body contains updated item namePASS
4Send DELETE request to /items/1 to remove itemAPI server deletes item with id 1Response code is 204 with no contentPASS
Failure Scenario
Failing Condition: API returns unexpected status code or response body does not match expected for HTTP method
Execution Trace Quiz - 3 Questions
Test your understanding
What HTTP method is used to retrieve data without changing it?
AGET
BPOST
CPUT
DDELETE
Key Result
Using the correct HTTP method clearly communicates the API's intent, making tests easier to understand and ensuring the API behaves as expected.

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