📖 Scenario: You are designing a simple REST API for a library system. The API should follow best practices by avoiding verbs in the URLs and instead use nouns to represent resources.
🎯 Goal: Build a set of REST API endpoint URLs that use nouns only, avoiding verbs, to represent actions on the library's books and authors.
📋 What You'll Learn
Create a list called resources with the exact strings: 'books' and 'authors'
Create a variable called base_url with the exact value 'https://api.library.com/'
Use a list comprehension called endpoints to create URLs for listing and detail views for each resource, following REST best practices without verbs
Print the endpoints list exactly as shown in the final output
💡 Why This Matters
🌍 Real World
APIs that follow REST principles are easier to understand and maintain. Avoiding verbs in URLs helps keep the API clean and consistent.
💼 Career
Many software development jobs require designing or working with REST APIs that follow best practices, including proper URL design.
Progress0 / 4 steps
1
Create the resource list
Create a list called resources with the exact strings 'books' and 'authors'.
Rest API
Hint
Use square brackets and quotes to create the list with the exact words.
2
Set the base URL
Create a variable called base_url and set it to the exact string 'https://api.library.com/'.
Rest API
Hint
Remember to include the trailing slash in the URL string.
3
Create RESTful endpoints list
Use a list comprehension called endpoints to create URLs for each resource in resources. For each resource, create two URLs: one for listing all items (e.g., https://api.library.com/books) and one for accessing a single item by ID (e.g., https://api.library.com/books/{id}). Do not use verbs in the URLs.
Rest API
Hint
Use two list comprehensions combined with + to create the list of URLs.
4
Print the endpoints list
Write a print statement to display the endpoints list exactly as it is.
Rest API
Hint
Use print(endpoints) to show the list.
Practice
(1/5)
1. Which of the following URLs follows the best practice of avoiding verbs in REST API design?
easy
A. /createUser
B. /getUser/123
C. /deleteUser/123
D. /users/123
Solution
Step 1: Understand URL naming conventions
REST APIs should use nouns to represent resources, not verbs. URLs like /users/123 represent a user resource with ID 123.
Step 2: Identify verbs in URLs
URLs like /getUser/123, /createUser, and /deleteUser/123 contain verbs (get, create, delete), which is against best practice.
Final Answer:
/users/123 -> Option D
Quick Check:
Use nouns in URLs = /users/123 [OK]
Hint: Use nouns for URLs, verbs go in HTTP methods [OK]
Common Mistakes:
Including verbs like 'get' or 'delete' in the URL
Using action words instead of resource names
Confusing HTTP methods with URL paths
2. Which HTTP method should be used with the URL /orders/456 to update an existing order?
easy
A. PUT
B. POST
C. DELETE
D. GET
Solution
Step 1: Match HTTP methods to actions
GET retrieves data, POST creates new data, PUT updates existing data, DELETE removes data.
Step 2: Identify update action
To update an existing order at /orders/456, the correct HTTP method is PUT.
Final Answer:
PUT -> Option A
Quick Check:
Update = PUT [OK]
Hint: PUT updates, POST creates, GET reads, DELETE removes [OK]
Common Mistakes:
Using POST to update instead of create
Using GET to modify data
Confusing PUT and DELETE methods
3. Given the REST API call: DELETE /products/789, what is the expected action?
medium
A. Delete product with ID 789
B. Create a new product with ID 789
C. Retrieve product with ID 789
D. Update product with ID 789
Solution
Step 1: Understand HTTP DELETE method
DELETE is used to remove a resource identified by the URL.
Step 2: Apply to given URL
The URL /products/789 identifies product 789, so DELETE removes it.
Final Answer:
Delete product with ID 789 -> Option A
Quick Check:
DELETE removes resource = Delete product with ID 789 [OK]
Hint: DELETE method removes resource at URL [OK]
Common Mistakes:
Thinking DELETE retrieves data
Confusing DELETE with POST or PUT
Assuming URL contains action verbs
4. Identify the error in this REST API design: POST /updateUser/123
medium
A. User ID should not be in the URL
B. HTTP method POST cannot be used with user resources
C. URL contains a verb 'update', which should be avoided
D. URL should end with a question mark
Solution
Step 1: Check URL naming conventions
URLs should use nouns to represent resources, not verbs like 'update'. The verb should be expressed by the HTTP method.
Step 2: Analyze the given URL
The URL /updateUser/123 contains the verb 'update', which violates REST best practices.
Final Answer:
URL contains a verb 'update', which should be avoided -> Option C
Quick Check:
Verbs in URL = URL contains a verb 'update', which should be avoided [OK]
Hint: Avoid verbs in URLs; use HTTP methods for actions [OK]
Common Mistakes:
Putting verbs like 'update' in URLs
Misusing HTTP methods
Ignoring resource identification in URLs
5. You want to design a REST API to manage blog posts. Which URL and HTTP method combination correctly avoids verbs in the URL and uses HTTP methods properly to delete a post with ID 321?
hard
A. DELETE /deletePost/321
B. DELETE /posts/321
C. POST /posts/321/delete
D. GET /posts/delete/321
Solution
Step 1: Identify correct URL structure
The URL should use a noun representing the resource, here /posts/321, without verbs like 'delete'.
Step 2: Match HTTP method to action
To delete a resource, use the DELETE method with the resource URL.
Final Answer:
DELETE /posts/321 -> Option B
Quick Check:
Delete resource = DELETE + noun URL [OK]
Hint: Use DELETE method with noun URL to remove resource [OK]
Common Mistakes:
Including verbs like 'delete' in the URL
Using GET or POST for delete actions
Placing action words after resource ID
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.