Sobes.tech
Junior — Middle

Nem szerepelnek a Spring csomagból származó, a @RestController-rel alkalmazott konkrét annotációk?

sobes.tech MI

Válasz az MI-től

A @RestController annotáció a Springben két annotációt egyesít: @Controller és @ResponseBody. RESTful webszolgáltatások létrehozására használják, ahol a vezérlő metódusok közvetlenül JSON vagy XML formátumban adnak vissza adatokat.

A @RestController-rel gyakran együtt használt és a routingot, valamint a HTTP-kérések kezelését konfiguráló speciális annotációk a következők:

  • @RequestMapping — az útvonal és a HTTP-metódus (GET, POST stb.) beállítására
  • @GetMapping, @PostMapping, @PutMapping, @DeleteMapping — a @RequestMapping speciális rövidítései adott HTTP-metódushoz
  • @PathVariable — az URL-ből származó változók lekérésére
  • @RequestParam — a kérés paramétereinek lekérésére
  • @RequestBody — a kérés törzsét egy objektumhoz kötésére

Példa:

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

    @GetMapping("/{id}")
    public User getUser(@PathVariable Long id) {
        // felhasználó lekérése id szerint
    }

    @PostMapping
    public User createUser(@RequestBody User user) {
        // felhasználó létrehozása
    }
}