Bird
Raised Fist0
Rest APIprogramming~5 mins

Request body structure in Rest API - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Request body structure
O(n)
Understanding Time Complexity

When working with request bodies in APIs, it's important to understand how processing time changes as the size of the data grows.

We want to know how the time to handle the request body changes when the input gets bigger.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

POST /users HTTP/1.1
Content-Type: application/json

{
  "users": [
    {"name": "Alice", "age": 30},
    {"name": "Bob", "age": 25},
    ...
  ]
}

This code snippet represents a POST request sending a JSON body with a list of user objects to the server.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The server reads and processes each user object in the "users" array.
  • How many times: Once for each user in the array, so the number of users determines the repetitions.
How Execution Grows With Input

As the number of users in the request body grows, the processing time grows in a similar way.

Input Size (n)Approx. Operations
10Processes 10 user objects
100Processes 100 user objects
1000Processes 1000 user objects

Pattern observation: The time to process grows directly with the number of users; doubling users roughly doubles the work.

Final Time Complexity

Time Complexity: O(n)

This means the processing time grows in a straight line with the number of items in the request body.

Common Mistake

[X] Wrong: "Processing the request body always takes the same time no matter how many items it has."

[OK] Correct: The server must handle each item, so more items mean more work and more time.

Interview Connect

Understanding how request body size affects processing time helps you design efficient APIs and handle data smartly in real projects.

Self-Check

"What if the request body contains nested arrays of users instead of a single array? How would the time complexity change?"

Practice

(1/5)
1. What is the main purpose of the request body in a REST API POST request?
easy
A. To define the HTTP method used
B. To send data from the client to the server
C. To specify the URL of the API endpoint
D. To set the server response status code

Solution

  1. Step 1: Understand the role of request body

    The request body contains the data sent by the client to the server, usually in POST or PUT requests.
  2. Step 2: Differentiate from other parts of the request

    The URL specifies the endpoint, the method defines the action, and the status code is part of the response, not the request body.
  3. Final Answer:

    To send data from the client to the server -> Option B
  4. Quick Check:

    Request body = data sent to server [OK]
Hint: Request body carries data sent to server in POST/PUT [OK]
Common Mistakes:
  • Confusing request body with URL or headers
  • Thinking request body sets HTTP method
  • Mixing request body with response status
2. Which of the following is the correct way to indicate JSON data in the request body header?
easy
A. Content-Type: text/plain
B. Content-Type: application/xml
C. Content-Type: application/json
D. Content-Type: multipart/form-data

Solution

  1. Step 1: Identify the header for JSON data

    The header Content-Type: application/json tells the server the body contains JSON formatted data.
  2. Step 2: Compare with other content types

    text/plain is plain text, multipart/form-data is for file uploads, and application/xml is for XML data.
  3. Final Answer:

    Content-Type: application/json -> Option C
  4. Quick Check:

    JSON header = application/json [OK]
Hint: Use application/json for JSON request bodies [OK]
Common Mistakes:
  • Using text/plain for JSON data
  • Forgetting to set Content-Type header
  • Using multipart/form-data without files
3. Given this JSON request body sent to an API:
{
  "name": "Alice",
  "age": 30
}

What will the server receive as the value of age?
medium
A. Undefined
B. "30" (string)
C. null
D. 30 (number)

Solution

  1. Step 1: Analyze the JSON data types

    The value for age is written as 30 without quotes, so it is a number, not a string.
  2. Step 2: Understand server parsing

    The server parses JSON and keeps numbers as numbers, so age will be the number 30.
  3. Final Answer:

    30 (number) -> Option D
  4. Quick Check:

    Unquoted numbers in JSON = number type [OK]
Hint: Numbers in JSON have no quotes, so parsed as numbers [OK]
Common Mistakes:
  • Assuming all JSON values are strings
  • Confusing number and string types
  • Ignoring JSON parsing rules
4. You send this request body:
{
  "username": "bob",
  "password": "1234"
}

But the server returns a 400 Bad Request error. What is a likely cause?
medium
A. Missing Content-Type header or wrong format
B. The username is too short
C. The password is numeric
D. The request method is GET

Solution

  1. Step 1: Check request headers and format

    A 400 Bad Request often means the server cannot parse the body, commonly due to missing or incorrect Content-Type header.
  2. Step 2: Evaluate other options

    Username length or password content usually cause validation errors, not 400 errors. GET requests do not have bodies, but the question implies a body was sent.
  3. Final Answer:

    Missing Content-Type header or wrong format -> Option A
  4. Quick Check:

    400 error often = bad or missing Content-Type [OK]
Hint: Always set correct Content-Type header to avoid 400 errors [OK]
Common Mistakes:
  • Ignoring Content-Type header
  • Assuming 400 means validation error
  • Confusing GET with POST request body
5. You want to send a nested JSON object in the request body to create a user with address info:
{
  "name": "Eve",
  "address": {
    "street": "123 Main St",
    "city": "Townsville"
  }
}

Which Content-Type header and body format should you use to ensure the server correctly understands this nested data?
hard
A. Content-Type: application/json with the JSON body as shown
B. Content-Type: text/plain with JSON body as string
C. Content-Type: application/x-www-form-urlencoded with nested keys
D. Content-Type: multipart/form-data with JSON inside a file

Solution

  1. Step 1: Identify correct header for nested JSON

    Nested JSON requires application/json Content-Type so the server parses the structure correctly.
  2. Step 2: Evaluate other formats

    text/plain treats body as plain text, application/x-www-form-urlencoded does not support nested objects well, and multipart/form-data is for files, not nested JSON.
  3. Final Answer:

    Content-Type: application/json with the JSON body as shown -> Option A
  4. Quick Check:

    Nested JSON needs application/json header [OK]
Hint: Use application/json header for nested JSON objects [OK]
Common Mistakes:
  • Using form-urlencoded for nested JSON
  • Sending JSON as plain text without header
  • Uploading JSON as file instead of body
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