Bird
Raised Fist0
Rest APIprogramming~10 mins

Avoiding verbs in URLs in Rest API - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Avoiding verbs in URLs
Client sends HTTP request
↓
URL contains noun (resource)
↓
HTTP method defines action
↓
Server processes request
↓
Response sent back to client
The client sends a request with a URL that names the resource (noun). The HTTP method (GET, POST, etc.) tells what action to do. The server uses this to respond.
Execution Sample
Rest API
GET /books
POST /books
PUT /books/123
DELETE /books/123
These URLs use nouns (books) and HTTP methods to specify actions without verbs in the URL.
Execution Table
StepHTTP MethodURLAction Defined ByResourceVerb in URL?
1GET/booksHTTP Method (GET)booksNo
2POST/booksHTTP Method (POST)booksNo
3PUT/books/123HTTP Method (PUT)books/123No
4DELETE/books/123HTTP Method (DELETE)books/123No
5GET/getBooksURL contains verb 'get'getBooksYes
💡 Step 5 shows a URL with a verb, which is discouraged; steps 1-4 follow best practice.
Variable Tracker
VariableStep 1Step 2Step 3Step 4Step 5
HTTP MethodGETPOSTPUTDELETEGET
URL/books/books/books/123/books/123/getBooks
Action SourceMethodMethodMethodMethodURL verb
Verb in URL?NoNoNoNoYes
Key Moments - 2 Insights
Why should we avoid verbs in URLs?
Because HTTP methods already define actions, adding verbs in URLs is redundant and can confuse clients and servers. See execution_table step 5 where the URL has a verb.
How do we know what action to perform if URLs don't have verbs?
The HTTP method (GET, POST, PUT, DELETE) tells the server what action to do. Look at execution_table steps 1-4 where the method defines the action.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, which step shows a URL with a verb?
AStep 5
BStep 1
CStep 3
DStep 2
💡 Hint
Check the 'Verb in URL?' column in execution_table.
At which step does the HTTP method define the action without a verb in the URL?
AStep 5
BStep 1
CStep 4
DStep 3
💡 Hint
Look at steps where 'Verb in URL?' is 'No' and action is from HTTP method.
If we changed step 5 URL to '/books', what would change in the 'Verb in URL?' column?
AIt would stay 'Yes'
BIt would change to 'No'
CIt would be empty
DIt would say 'Maybe'
💡 Hint
Check how URLs without verbs are marked in execution_table.
Concept Snapshot
Avoid verbs in URLs.
Use nouns to name resources (e.g., /books).
Use HTTP methods (GET, POST, PUT, DELETE) to specify actions.
This keeps URLs clean and RESTful.
Example: GET /books fetches books, no verb needed in URL.
Full Transcript
In REST APIs, URLs should name resources using nouns, not verbs. The HTTP method tells the server what action to perform. For example, GET /books fetches books, POST /books adds a book, PUT /books/123 updates book 123, and DELETE /books/123 deletes it. Avoid URLs like /getBooks because the verb 'get' is redundant and breaks REST principles. The execution table shows steps with HTTP methods and URLs without verbs, and one example with a verb in the URL to highlight the difference. Variables track the HTTP method, URL, and whether the URL contains a verb. Key moments clarify why verbs in URLs are avoided and how HTTP methods define actions. The quiz tests understanding of these points. Remember: clean URLs use nouns; HTTP methods do the work.

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

  1. 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.
  2. Step 2: Identify verbs in URLs

    URLs like /getUser/123, /createUser, and /deleteUser/123 contain verbs (get, create, delete), which is against best practice.
  3. Final Answer:

    /users/123 -> Option D
  4. 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

  1. Step 1: Match HTTP methods to actions

    GET retrieves data, POST creates new data, PUT updates existing data, DELETE removes data.
  2. Step 2: Identify update action

    To update an existing order at /orders/456, the correct HTTP method is PUT.
  3. Final Answer:

    PUT -> Option A
  4. 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

  1. Step 1: Understand HTTP DELETE method

    DELETE is used to remove a resource identified by the URL.
  2. Step 2: Apply to given URL

    The URL /products/789 identifies product 789, so DELETE removes it.
  3. Final Answer:

    Delete product with ID 789 -> Option A
  4. 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

  1. 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.
  2. Step 2: Analyze the given URL

    The URL /updateUser/123 contains the verb 'update', which violates REST best practices.
  3. Final Answer:

    URL contains a verb 'update', which should be avoided -> Option C
  4. 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

  1. Step 1: Identify correct URL structure

    The URL should use a noun representing the resource, here /posts/321, without verbs like 'delete'.
  2. Step 2: Match HTTP method to action

    To delete a resource, use the DELETE method with the resource URL.
  3. Final Answer:

    DELETE /posts/321 -> Option B
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard