A tavaszi @Controller és @RestController kommentárok

1. Áttekintés

Ebben a gyors bemutatóban megvitatjuk a különbséget @Vezérlő és @RestController annotációk a tavaszi MVC-ben.

Az első kommentár a hagyományos Spring vezérlőknél használatos, és nagyon hosszú ideje része a keretnek.

A @RestController az annotációt a 4.0 tavasszal vezették be a RESTful webszolgáltatások létrehozásának egyszerűsítése érdekében. Ez egy kényelmi jegyzet, amely ötvözi @Vezérlő és @ResponseBody - ami feleslegessé teszi a vezérlőosztály minden kéréskezelési módszerének a @ResponseBody annotáció.

2. Tavaszi MVC @Vezérlő

A klasszikus vezérlők a @Vezérlő annotáció. Ez egyszerűen a @Összetevő osztály, és lehetővé teszi a megvalósítási osztályok automatikus felismerését az osztályút keresés révén.

@Vezérlő jellemzően a-val kombinálva használják @RequestMapping a kérelemkezelési módszereknél használt megjegyzés.

Lássunk egy gyors példát a Spring MVC vezérlőre:

@Controller @RequestMapping ("books") public class SimpleBookController {@GetMapping ("/ {id}", tuottaa = "application / json") public @ResponseBody Book getBook (@PathVariable int id) {return findBookById (id); } private Book findBookById (int id) {// ...}} 

A kéréskezelési módot a @ResponseBody. Ez a megjegyzés lehetővé teszi a visszatérő objektum automatikus sorosítását a HttpResponse.

3. Tavaszi MVC @RestController

@RestController a vezérlő speciális verziója. Ez magában foglalja a @Vezérlő és @ResponseBody kommentárokkal és ennek eredményeként leegyszerűsíti a vezérlő megvalósítását:

@RestController @RequestMapping ("books-rest") public class SimpleBookRestController {@GetMapping ("/ {id}", tuottaa = "application / json") public book getBook (@PathVariable int id) {return findBookById (id); } privát könyv findBookById (int id) {// ...}} 

A vezérlőt a @RestController annotáció, ezért a @ResponseBody nem szükséges.

A vezérlő osztály minden kéréskezelési módja automatikusan sorosítja a visszatérő objektumokat HttpResponse.

4. Következtetés

Ebben a cikkben a tavaszi keretrendszerben elérhető klasszikus és speciális REST vezérlőket láthattuk.

A példa teljes forráskódja elérhető a GitHub projektben; ez egy Maven projekt, így importálható és használható is.