@PutMapping, @DeleteMapping și @PatchMapping în Spring Boot

web Spring Boot 3.x / Java 17+ Q&A / Distribuie cod

Implementarea completă a operațiunilor CRUD în Spring MVC prin rute HTTP de înlocuire, ștergere și actualizare parțială.

Sintaxă
@PutMapping("/{id}") / @DeleteMapping("/{id}") / @PatchMapping("/{id}")

În conformitate cu standardul RESTful, crearea și citirea datelor sunt gestionate prin @PostMapping și @GetMapping. Pentru modificarea și ștergerea resurselor, Spring MVC furnizează adnotări specializate:

  • @PutMapping("/{id}"): Înlocuirea completă a resursei existente cu noul DTO furnizat.
  • @DeleteMapping("/{id}"): Ștergerea definitivă sau marcare logică (soft-delete) a resursei identificate.
  • @PatchMapping("/{id}"): Actualizarea parțială a câtorva atribute ale resursei fără a suprascrie întregul obiect.
Exemplu: Controller REST complet cu Put, Patch și Delete
package ro.dexblog.demo.controller;

import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import ro.dexblog.demo.dto.UpdateUserDto;

@RestController
@RequestMapping("/api/v1/users")
public class UserController {

    @PutMapping("/{id}")
    public ResponseEntity replaceUser(@PathVariable Long id, @RequestBody UpdateUserDto dto) {
        System.out.println("Înlocuire completă utilizator ID: " + id);
        return ResponseEntity.noContent().build();
    }

    @PatchMapping("/{id}")
    public ResponseEntity patchUserEmail(@PathVariable Long id, @RequestParam String newEmail) {
        System.out.println("Actualizare doar adresa de email pentru ID: " + id);
        return ResponseEntity.ok().build();
    }

    @DeleteMapping("/{id}")
    public ResponseEntity deleteUser(@PathVariable Long id) {
        System.out.println("Ștergere utilizator ID: " + id);
        return ResponseEntity.noContent().build();
    }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: @PutMapping, @DeleteMapping și @PatchMapping

Ai o nelămurire despre utilizarea comenzii @PutMapping, @DeleteMapping și @PatchMapping sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.