Sobes.tech
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.