Bird
Raised Fist0
Rest APIprogramming~5 mins

Plural vs singular resource names in Rest API - Performance Comparison

Choose your learning style10 modes available
Time Complexity: Plural vs singular resource names
O(n) for plural, O(1) for singular
Understanding Time Complexity

When designing REST APIs, choosing plural or singular resource names affects how many operations the server handles.

We want to understand how this choice impacts the number of requests and processing steps as data grows.

Scenario Under Consideration

Analyze the time complexity of handling requests for plural vs singular resource names.


// Example: Fetch all users (plural)
GET /users

// Example: Fetch one user (singular)
GET /users/123

// Server processes list or single item accordingly
    

This code shows two endpoints: one returns many users, the other returns one user by ID.

Identify Repeating Operations

Look at what repeats when the server handles these requests.

  • Primary operation: For plural, the server loops through all users to build the list.
  • How many times: The loop runs once per user in the database.
  • For singular: The server fetches one user directly, no loop needed.
How Execution Grows With Input

As the number of users grows, the work for plural requests grows too, but singular stays steady.

Input Size (n)Approx. Operations for /usersApprox. Operations for /users/123
1010 loops to gather users1 direct fetch
100100 loops to gather users1 direct fetch
10001000 loops to gather users1 direct fetch

Pattern observation: Plural requests grow linearly with data size; singular requests stay constant.

Final Time Complexity

Time Complexity: O(n) for plural, O(1) for singular

This means plural resource requests take longer as data grows, while singular requests take about the same time regardless of data size.

Common Mistake

[X] Wrong: "Using singular resource names always makes the API faster overall."

[OK] Correct: Singular names only speed up single-item requests; plural names are needed for lists, which naturally take more time as data grows.

Interview Connect

Understanding how resource naming affects request handling helps you design APIs that scale well and meet user needs efficiently.

Self-Check

What if the plural endpoint added pagination to limit results? How would that change the time complexity?

Practice

(1/5)
1. Which naming style is recommended for an API endpoint that returns a list of users?
/user or /users?
easy
A. /users because it is singular and more precise.
B. /user because it is shorter and simpler.
C. /user because it is singular and more precise.
D. /users because it represents multiple users.

Solution

  1. Step 1: Understand resource naming for collections

    API endpoints returning multiple items should use plural names to clearly indicate a list.
  2. Step 2: Apply naming to the example

    Since the endpoint returns multiple users, /users is the correct plural form.
  3. Final Answer:

    /users because it represents multiple users. -> Option D
  4. Quick Check:

    Plural for lists = /users [OK]
Hint: Use plural names for endpoints returning lists [OK]
Common Mistakes:
  • Using singular for list endpoints
  • Confusing singular and plural forms
  • Choosing shorter names over clarity
2. Which of the following is the correct endpoint to access a single product by its ID?
easy
A. /products/123
B. /product/123
C. /products
D. /product

Solution

  1. Step 1: Identify singular vs plural for single item access

    When accessing a single item by ID, use the plural form of the resource name followed by the ID.
  2. Step 2: Match the correct endpoint format

    The endpoint /products/123 uses plural products and includes the ID, which is the common RESTful convention.
  3. Final Answer:

    /products/123 -> Option A
  4. Quick Check:

    Single item access = plural + ID [OK]
Hint: Use plural resource name when accessing one item by ID [OK]
Common Mistakes:
  • Using singular resource name for single item
  • Omitting the ID when accessing a single item
  • Mixing singular/plural inconsistently
3. Given the following API endpoints, which one correctly retrieves a list of orders?
GET /order
GET /orders
GET /order/456
GET /orders/456
medium
A. GET /order
B. GET /orders/456
C. GET /orders
D. GET /order/456

Solution

  1. Step 1: Identify endpoints returning lists

    Endpoints returning lists should use plural resource names without an ID.
  2. Step 2: Analyze each option

    GET /orders uses plural and no ID, so it returns the list of orders. Others either use singular or include an ID, indicating single item access.
  3. Final Answer:

    GET /orders -> Option C
  4. Quick Check:

    List retrieval = plural resource without ID [OK]
Hint: Plural + no ID means list retrieval [OK]
Common Mistakes:
  • Choosing singular endpoint for list
  • Confusing ID presence with list retrieval
  • Ignoring plural vs singular rules
4. You have an API endpoint defined as GET /users/ to get a list of users and GET /user/{id} to get a single user. A developer mistakenly uses GET /user/ to get all users. What is the likely problem?
medium
A. The endpoint /user/ is incorrect for list retrieval and may cause a 404 error.
B. The endpoint /user/ will return a list of users anyway.
C. The endpoint /user/ will return a single user without ID.
D. The endpoint /user/ will automatically redirect to /users/.

Solution

  1. Step 1: Understand endpoint naming conventions

    List retrieval requires plural resource name, so /users/ is correct for all users.
  2. Step 2: Analyze the incorrect usage

    /user/ is singular and without an ID, so it likely does not exist or returns an error like 404.
  3. Final Answer:

    The endpoint /user/ is incorrect for list retrieval and may cause a 404 error. -> Option A
  4. Quick Check:

    Singular without ID ≠ list endpoint [OK]
Hint: Singular without ID usually causes errors for list requests [OK]
Common Mistakes:
  • Using singular endpoint for list retrieval
  • Assuming singular endpoint returns list
  • Expecting automatic redirects between endpoints
5. You are designing an API for a library system. Which of the following endpoint designs correctly follows the plural vs singular resource naming best practices for retrieving a single book and all books?
hard
A. GET /book for all books and GET /books/{id} for a single book
B. GET /books for all books and GET /book/{id} for a single book
C. GET /books/{id} for all books and GET /book for a single book
D. GET /book/{id} for all books and GET /books for a single book

Solution

  1. Step 1: Recall naming rules for collections and single items

    Use plural resource names for collections (all books) and singular for single items by ID.
  2. Step 2: Match options to rules

    GET /books correctly retrieves all books (plural). GET /book/{id} correctly retrieves a single book (singular with ID).
  3. Final Answer:

    GET /books for all books and GET /book/{id} for a single book -> Option B
  4. Quick Check:

    Plural for list, singular + ID for single [OK]
Hint: Plural for lists, singular + ID for single items [OK]
Common Mistakes:
  • Swapping singular and plural for list vs single
  • Using singular without ID for list
  • Using plural with ID for single item
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