הערות האביב @ Controller ו- @ RestController
1. סקירה כללית
במדריך מהיר זה נדון בהבדל בין @בקר ו @ RestController ביאורים ב- MVC באביב.
ההערה הראשונה משמשת לבקרי אביב מסורתיים והייתה חלק מהמסגרת במשך זמן רב מאוד.
ה @ RestController ההערה הוצגה באביב 4.0 כדי לפשט את היצירה של שירותי רשת RESTful. זו הערת נוחות שמשלבת @בקר ו @ResponseBody - מה שמבטל את הצורך להוסיף הערות לכל שיטת טיפול בבקשות במחלקת הבקר עם ה- @ResponseBody ביאור.
2. אביב MVC @בקר
בקרים קלאסיים ניתנים להערה באמצעות ה- @בקר ביאור. זו פשוט התמחות של @רְכִיב בכיתה ומאפשר זיהוי אוטומטי של שיעורי יישום באמצעות סריקת שביל הכיתה.
@בקר משמש בדרך כלל בשילוב עם @ בקשת מיפוי הערה המשמשת בשיטות טיפול בבקשות.
בואו נראה דוגמה מהירה לבקר MVC באביב:
@Controller @RequestMapping ("ספרים") מחלקה ציבורית SimpleBookController {@GetMapping ("/ {id}", מייצר = "יישום / json") ציבורי @ResponseBody Book getBook (@PathVariable int id) {return findBookById (id); } ספר פרטי findBookById (מזהה int) {// ...}}
שיטת הטיפול בבקשות מסומנת עם @ResponseBody. הערה זו מאפשרת סידור אוטומטי של אובייקט ההחזרה אל ה- HttpResponse.
3. אביב MVC @ RestController
@ RestController היא גרסה מיוחדת של הבקר. זה כולל את @בקר ו @ResponseBody הערות וכתוצאה מכך מפשט את יישום הבקר:
@RestController @RequestMapping ("ספר מנוחה") מחלקה ציבורית SimpleBookRestController {@GetMapping ("/ {id}", מייצר = "יישום / json") ציבורי ספר Book getBook (@PathVariable int id) {return findBookById (id); } ספר פרטי findBookById (מזהה int) {// ...}}
הבקר מסומן עם ה- @ RestController ביאור, לכן @ResponseBody אינו נדרש.
כל שיטת טיפול בבקשות ממחלקת הבקר מסדרת אוטומטית אובייקטים חוזרים לסידרה HttpResponse.
4. מסקנה
במאמר זה ראינו את בקרי ה- REST הקלאסיים והמיוחדים הזמינים ב- Spring Framework.
קוד המקור השלם לדוגמא זמין בפרויקט GitHub; זהו פרויקט Maven, כך שניתן לייבא אותו ולהשתמש בו כמות שהוא.