Bird
Raised Fist0
Rest APIprogramming~3 mins

Why Noun-based resource naming in Rest API? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if your API could speak a simple, universal language everyone understands instantly?

The Scenario

Imagine you are building a website where users can manage books, authors, and orders. You try to name your API endpoints using verbs like /getBooks, /createAuthor, or /deleteOrder. As your project grows, it becomes confusing to remember which verbs to use and how to combine them.

The Problem

Using verbs in URLs makes your API inconsistent and hard to maintain. You have to remember many different action words, and it's easy to make mistakes or misunderstand what each endpoint does. This slows down development and causes bugs.

The Solution

Noun-based resource naming uses simple, clear nouns to represent things in your system, like /books, /authors, and /orders. Actions like getting, creating, or deleting are handled by HTTP methods (GET, POST, DELETE). This makes your API easy to understand and consistent.

Before vs After
✗ Before
/getBooks
/createAuthor
/deleteOrder
✓ After
GET /books
POST /authors
DELETE /orders/{id}
What It Enables

This approach lets developers quickly understand and use your API without guessing, making teamwork and scaling much easier.

Real Life Example

Think of an online store API where you can list products with GET /products, add a new product with POST /products, or remove a product with DELETE /products/{id}. It's clear and simple for everyone.

Key Takeaways

Using nouns for resource names keeps APIs simple and consistent.

HTTP methods handle actions, so URLs stay clean and easy to remember.

This makes APIs easier to use, maintain, and scale.

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