Î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();
}
}
Întrebări & Exemple de Cod:
@PutMapping, @DeleteMapping și @PatchMappingAi o nelămurire despre utilizarea comenzii
@PutMapping, @DeleteMapping și @PatchMappingsau 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.