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.