📖 Scenario: You are building a simple REST API for a bookstore. The API should use noun-based resource names to represent collections and individual items.
🎯 Goal: Create a REST API endpoint structure using noun-based resource naming conventions for books and authors.
📋 What You'll Learn
Create a list called books with three book titles as strings
Create a variable called resource_name and set it to the string "books"
Use a for loop with variable book to iterate over books and create a list called book_resources with URLs in the format "/books/{book_id}" where book_id is the index starting from 1
Print each URL in book_resources on a new line
💡 Why This Matters
🌍 Real World
REST APIs use noun-based resource names to clearly represent collections and individual items, making URLs easy to understand and consistent.
💼 Career
Understanding noun-based resource naming is essential for backend developers and API designers to create clean, maintainable, and user-friendly APIs.
Progress0 / 4 steps
1
Create the books list
Create a list called books with these exact strings: "The Hobbit", "1984", and "Pride and Prejudice".
Rest API
Hint
Use square brackets [] to create a list and separate items with commas.
2
Set the resource name
Create a variable called resource_name and set it to the string "books".
Rest API
Hint
Use an equals sign = to assign the string "books" to the variable resource_name.
3
Create URLs for each book resource
Use a for loop with variable book and enumerate over books starting at 1 to create a list called book_resources. Each item should be a string in the format "/books/{book_id}" where book_id is the index number.
Rest API
Hint
Use a list comprehension with enumerate(books, 1) to get index starting at 1 and format strings with f-strings.
4
Print the book resource URLs
Use a for loop with variable url to iterate over book_resources and print each URL on a new line.
Rest API
Hint
Use a for loop to print each URL string on its own line.
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
Step 1: Understand noun-based resource naming
Noun-based naming uses plural nouns to represent collections of resources, making the API intuitive.
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.
Final Answer:
/books -> Option D
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
Step 1: Review REST API syntax for single resource
Single resources are accessed by appending the resource ID to the plural noun path.
Step 2: Identify the correct syntax
Option '/users/123' correctly uses the plural noun 'users' followed by the ID without verbs or query parameters.
Final Answer:
/users/123 -> Option C
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
Step 1: Understand HTTP GET method
GET is used to retrieve or read data from the server without modifying it.
Step 2: Interpret the endpoint path
The path '/orders/456' points to a single order resource with ID 456.
Final Answer:
Retrieve the order with ID 456 -> Option A
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
Step 1: Check resource naming conventions
Resource paths should be nouns, not verbs or actions.
Step 2: Analyze the given endpoint
The path '/deleteUser/789' incorrectly includes the verb 'deleteUser' instead of just '/users/789'.
Final Answer:
Using a verb 'deleteUser' in the resource path -> Option B
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
Step 1: Understand nested resource naming
Comments belong to posts, so nesting comments under posts is clear and RESTful.
Step 2: Evaluate the options
Option '/posts/42/comments' uses plural nouns and shows the relationship clearly without verbs or query parameters.
Final Answer:
/posts/42/comments -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.