Junior — Middle
Mi a különbség az @RequestMapping és az @PutMapping annotációk között a Spring MVC-ben?
sobes.tech MI
Válasz az MI-től
Spring MVC-ben az @RequestMapping annotációt használják az HTTP-kérések kezelésére, és ez alkalmazható osztály- vagy metódusszinten is. Lehetővé teszi az útvonal, a HTTP-módszerek (GET, POST, PUT stb.), paraméterek és más feltételek megadását a kérés feldolgozásához.
Az @PutMapping annotáció az @RequestMapping egy specializált változata, amely alapértelmezés szerint csak a PUT HTTP-módszert kezeli. Ez a kód egyszerűsítésére szolgál, amikor kifejezetten PUT-kéréseket kell kezelni.
Példa:
@RestController
@RequestMapping("/users")
public class UserController {
@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
public ResponseEntity<?> updateUserOld(@PathVariable Long id, @RequestBody User user) {
// PUT kérés feldolgozása
}
@PutMapping("/{id}")
public ResponseEntity<?> updateUser(@PathVariable Long id, @RequestBody User user) {
// ugyanaz, de @PutMapping használatával
}
}
Ezért a @PutMapping egy tömörebb és specializáltabb módja a PUT kérés kezelésének, míg az @RequestMapping sokoldalúbb.