Bird
Raised Fist0
Angularframework~5 mins

PUT and DELETE requests in Angular

Choose your learning style10 modes available
Introduction

PUT and DELETE requests let your app update or remove data on a server. They help keep your app's data fresh and accurate.

When you want to change existing information, like updating a user's profile.
When you need to remove an item, like deleting a post or comment.
When syncing changes from your app to the server to keep data consistent.
When building features like edit forms or delete buttons in your app.
Syntax
Angular
this.httpClient.put(url, body, options)
this.httpClient.delete(url, options)

PUT sends the full updated data to replace existing data.

DELETE removes data identified by the URL.

Examples
Updates user with ID 1 to have name 'Anna' and age 30.
Angular
this.httpClient.put('https://api.example.com/users/1', {name: 'Anna', age: 30})
Deletes user with ID 1 from the server.
Angular
this.httpClient.delete('https://api.example.com/users/1')
Sample Program

This Angular component has two buttons. Clicking 'Update User' sends a PUT request to change user data. Clicking 'Delete User' sends a DELETE request to remove the user. The message below shows success or failure.

Angular
import { Component } from '@angular/core';
import { HttpClient, HttpClientModule } from '@angular/common/http';

@Component({
  selector: 'app-user-manager',
  template: `
    <button (click)="updateUser()">Update User</button>
    <button (click)="deleteUser()">Delete User</button>
    <p>{{message}}</p>
  `,
  standalone: true,
  imports: [HttpClientModule]
})
export class UserManagerComponent {
  message = '';
  constructor(private httpClient: HttpClient) {}

  updateUser() {
    const url = 'https://jsonplaceholder.typicode.com/users/1';
    const updatedData = { name: 'Anna', username: 'anna123' };
    this.httpClient.put(url, updatedData).subscribe({
      next: () => this.message = 'User updated successfully!',
      error: () => this.message = 'Failed to update user.'
    });
  }

  deleteUser() {
    const url = 'https://jsonplaceholder.typicode.com/users/1';
    this.httpClient.delete(url).subscribe({
      next: () => this.message = 'User deleted successfully!',
      error: () => this.message = 'Failed to delete user.'
    });
  }
}
OutputSuccess
Important Notes

Always handle errors to inform users if the request fails.

PUT replaces the entire resource, so send all required fields.

DELETE requests usually don't need a body, just the URL identifying the item.

Summary

PUT updates existing data by sending the full new version.

DELETE removes data identified by the URL.

Use Angular's HttpClient to easily send these requests and handle responses.

Practice

(1/5)
1. What is the main purpose of a PUT request in Angular's HttpClient?
easy
A. To retrieve data from the server
B. To delete a resource from the server
C. To update an existing resource by sending the full new data
D. To partially update a resource

Solution

  1. Step 1: Understand HTTP methods

    PUT is used to update or replace an existing resource completely.
  2. Step 2: Compare with other methods

    DELETE removes data, GET retrieves data, PATCH partially updates data.
  3. Final Answer:

    To update an existing resource by sending the full new data -> Option C
  4. Quick Check:

    PUT updates full resource = A [OK]
Hint: PUT replaces full data, DELETE removes resource [OK]
Common Mistakes:
  • Confusing PUT with DELETE
  • Thinking PUT partially updates data
  • Mixing GET with PUT
2. Which of the following is the correct syntax to send a DELETE request using Angular's HttpClient?
easy
A. this.http.delete('api/items/1').subscribe();
B. this.http.put('api/items/1').subscribe();
C. this.http.get('api/items/1').subscribe();
D. this.http.post('api/items/1').subscribe();

Solution

  1. Step 1: Identify the method for DELETE

    Angular's HttpClient uses delete() to send DELETE requests.
  2. Step 2: Check syntax correctness

    The method call this.http.delete('api/items/1').subscribe(); correctly sends a DELETE request and subscribes to the response.
  3. Final Answer:

    this.http.delete('api/items/1').subscribe(); -> Option A
  4. Quick Check:

    DELETE method uses http.delete() [OK]
Hint: Use http.delete() for DELETE requests [OK]
Common Mistakes:
  • Using http.put() instead of http.delete()
  • Forgetting to subscribe to the observable
  • Using http.post() for deleting
3. Given this Angular code snippet, what will be logged after the PUT request completes successfully?
const updatedItem = { id: 5, name: 'New Name' };
this.http.put('api/items/5', updatedItem).subscribe(response => {
  console.log(response);
});
medium
A. The updated item object returned from the server
B. An error message because PUT requires no body
C. Nothing, because PUT does not return data
D. The original item before update

Solution

  1. Step 1: Understand PUT request behavior

    PUT sends the full updated data and usually returns the updated resource from the server.
  2. Step 2: Analyze the subscription callback

    The response logged is the server's reply, typically the updated item object.
  3. Final Answer:

    The updated item object returned from the server -> Option A
  4. Quick Check:

    PUT returns updated data = A [OK]
Hint: PUT usually returns updated resource in response [OK]
Common Mistakes:
  • Assuming PUT returns no data
  • Confusing PUT with DELETE response
  • Expecting original item instead of updated
4. Identify the error in this Angular DELETE request code:
this.http.delete('api/items').subscribe(response => {
  console.log('Item deleted');
});

Assuming the API requires an item ID to delete a specific item.
medium
A. DELETE requests cannot be sent without a request body
B. The URL is missing the item ID to specify which item to delete
C. The subscribe method is missing a parameter
D. The console.log statement is incorrect

Solution

  1. Step 1: Check the URL for DELETE request

    The URL 'api/items' does not specify which item to delete; an ID is needed.
  2. Step 2: Understand API requirements

    APIs usually require an ID in the URL like 'api/items/1' to delete a specific item.
  3. Final Answer:

    The URL is missing the item ID to specify which item to delete -> Option B
  4. Quick Check:

    DELETE URL needs item ID = C [OK]
Hint: DELETE URL must include resource ID to delete [OK]
Common Mistakes:
  • Sending DELETE without specifying resource ID
  • Thinking DELETE needs a request body
  • Ignoring subscribe callback
5. You want to update a user's profile and then delete their old profile picture in Angular. Which sequence of HttpClient calls correctly applies PUT and DELETE requests?
// Update user profile
this.http.put('api/users/10', updatedUser).subscribe(() => {
  // Delete old profile picture
  this.http.delete('api/pictures/oldPicId').subscribe(() => {
    console.log('Profile updated and old picture deleted');
  });
});
hard
A. DELETE request first to delete picture, then PUT request inside DELETE's subscribe to update profile
B. Use only PUT request to update profile and delete picture together
C. Send PUT and DELETE requests simultaneously without waiting for response
D. PUT request first to update profile, then DELETE request inside PUT's subscribe to delete picture

Solution

  1. Step 1: Understand request order

    First update the user profile with PUT, then delete the old picture after success.
  2. Step 2: Analyze code structure

    DELETE request is inside PUT's subscribe callback, ensuring sequential execution.
  3. Step 3: Evaluate other options

    Deleting first may remove picture before profile update; simultaneous calls lack order; PUT cannot delete picture.
  4. Final Answer:

    PUT request first to update profile, then DELETE request inside PUT's subscribe to delete picture -> Option D
  5. Quick Check:

    Update then delete sequentially = B [OK]
Hint: Chain DELETE inside PUT subscribe for correct order [OK]
Common Mistakes:
  • Deleting before updating causing data mismatch
  • Sending requests simultaneously without order
  • Trying to delete picture with PUT request
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