Bird
Raised Fist0
Rest APIprogramming~5 mins

Noun-based resource naming in Rest API - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Noun-based resource naming
O(n)
Understanding Time Complexity

When designing REST APIs, using noun-based resource names helps organize data access clearly.

We want to see how the number of operations grows when accessing resources named as nouns.

Scenario Under Consideration

Analyze the time complexity of the following REST API endpoint handling.

GET /users
GET /users/{id}
POST /users
GET /users/{id}/orders

This code snippet shows typical noun-based resource paths for users and their orders.

Identify Repeating Operations

Look at what repeats when the API handles requests.

  • Primary operation: Searching or retrieving user or order data from storage.
  • How many times: Once per request, but the data size affects how long it takes.
How Execution Grows With Input

As the number of users or orders grows, the time to find or list them changes.

Input Size (n)Approx. Operations
10 usersAbout 10 checks or reads
100 usersAbout 100 checks or reads
1000 usersAbout 1000 checks or reads

Pattern observation: The time grows roughly in direct proportion to the number of items.

Final Time Complexity

Time Complexity: O(n)

This means the time to handle requests grows linearly with the number of resources.

Common Mistake

[X] Wrong: "Naming resources as nouns makes the API faster."

[OK] Correct: The naming style organizes the API but does not change how fast data is found or processed.

Interview Connect

Understanding how resource naming relates to request handling helps you explain API design clearly and think about performance.

Self-Check

"What if we changed resource names from nouns to verbs? How would the time complexity of handling requests change?"

Practice

(1/5)
1. Which of the following is the best example of a noun-based resource name for a REST API endpoint that manages multiple books?
easy
A. /fetchBooks
B. /getBooks
C. /bookAction
D. /books

Solution

  1. Step 1: Understand noun-based resource naming

    Noun-based naming uses plural nouns to represent collections of resources, making the API intuitive.
  2. Step 2: Identify the correct plural noun path

    Among the options, only '/books' is a plural noun representing the resource collection without verbs or actions.
  3. Final Answer:

    /books -> Option D
  4. Quick Check:

    Noun-based resource = /books [OK]
Hint: Use plural nouns without verbs for resource paths [OK]
Common Mistakes:
  • Including verbs like 'get' or 'fetch' in the URL
  • Using singular nouns for collections
  • Adding action words in resource names
2. Which of the following is the correct REST API endpoint syntax for accessing a single user resource by ID?
easy
A. /users/get/123
B. /user?id=123
C. /users/123
D. /getUser/123

Solution

  1. Step 1: Review REST API syntax for single resource

    Single resources are accessed by appending the resource ID to the plural noun path.
  2. Step 2: Identify the correct syntax

    Option '/users/123' correctly uses the plural noun 'users' followed by the ID without verbs or query parameters.
  3. Final Answer:

    /users/123 -> Option C
  4. Quick Check:

    Single resource path = /users/123 [OK]
Hint: Use /resourceName/{id} for single resource access [OK]
Common Mistakes:
  • Adding verbs like 'get' in the path
  • Using query parameters instead of path variables
  • Using singular noun without ID
3. Given the REST API endpoint GET /orders/456, what does this request represent?
medium
A. Retrieve the order with ID 456
B. Create a new order with ID 456
C. Delete the order with ID 456
D. Update the order with ID 456

Solution

  1. Step 1: Understand HTTP GET method

    GET is used to retrieve or read data from the server without modifying it.
  2. Step 2: Interpret the endpoint path

    The path '/orders/456' points to a single order resource with ID 456.
  3. Final Answer:

    Retrieve the order with ID 456 -> Option A
  4. Quick Check:

    GET /orders/456 = Retrieve order 456 [OK]
Hint: GET + /resource/{id} means fetch that resource [OK]
Common Mistakes:
  • Confusing GET with POST or DELETE actions
  • Assuming the request modifies data
  • Misreading the resource ID
4. Identify the error in this REST API endpoint for deleting a user: DELETE /deleteUser/789
medium
A. Missing query parameter for user ID
B. Using a verb 'deleteUser' in the resource path
C. Using DELETE method instead of GET
D. Using plural noun instead of singular

Solution

  1. Step 1: Check resource naming conventions

    Resource paths should be nouns, not verbs or actions.
  2. Step 2: Analyze the given endpoint

    The path '/deleteUser/789' incorrectly includes the verb 'deleteUser' instead of just '/users/789'.
  3. Final Answer:

    Using a verb 'deleteUser' in the resource path -> Option B
  4. Quick Check:

    Resource path must be noun, not verb [OK]
Hint: Avoid verbs in paths; use HTTP methods for actions [OK]
Common Mistakes:
  • Including action verbs in URL paths
  • Confusing HTTP method with URL naming
  • Using query parameters unnecessarily
5. You want to design a REST API for managing comments on blog posts. Which of the following is the best noun-based resource path to list all comments for a post with ID 42?
hard
A. /posts/42/comments
B. /getCommentsForPost/42
C. /comments?postId=42
D. /postComments/42

Solution

  1. Step 1: Understand nested resource naming

    Comments belong to posts, so nesting comments under posts is clear and RESTful.
  2. Step 2: Evaluate the options

    Option '/posts/42/comments' uses plural nouns and shows the relationship clearly without verbs or query parameters.
  3. Final Answer:

    /posts/42/comments -> Option A
  4. Quick Check:

    Nested plural nouns show resource hierarchy [OK]
Hint: Use nested plural nouns for related resources [OK]
Common Mistakes:
  • Using verbs in paths like 'getCommentsForPost'
  • Using query parameters instead of nested paths
  • Using singular nouns inconsistently
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