Spring MVC Ke @Controller aur @RestController Annotations main Difference Kaya Hain?

By author image icon आशुतोष कुमार

दिनांक : May 18, 2023

 हेल्लो दोस्तों , आज इस पोस्ट में मैं आपको स्प्रिंग MVC फ्रेमवर्क के अंदर होने वाले दो  annotation @Controller और @RestController के उपयोग से संबंधित जानकारी देने वाला हूँ।   इन दोनों Annotation का उपयोग थोड़ा से अलग - अलग कामो  के हिसाब से  इन दोनों में किसी एक  को चुना पड़ता हैं। इस दोनों annotation के उपयोग को इस आर्टिकल में काम के हिसाब से बेस्ट कौन सा हैं बताया हैं। 


स्प्रिंग MVC के Annotation @Controller और @RestController में अंतर बताये ?

 

@Controller  का उपयोग वेब Controller बनने के लिए किया जाता हैं। अर्थात वेब से संबंधित कामो के इस annotation का उपयोग होता हैं। इसके अंतर्गत जो भी वेब से request आती हैं Response के तौर पर हमें वेबपेज को Client को भेजना होता हैं। और यह controller एक View ( दूसरे शब्द में html, css और js से बनी  वेबपज टेम्पलेट ) को हल कर के request पते पर भेजता हैं। 

Controller का काम model object को map करना होता हैं और View को खोजना होता हैं। और उसमे model ऑब्जेक्ट के data को लिखना होता हैं ताकि डायनामिक इनफार्मेशन एक टेम्पलेट से दिखाया जा सके। 


@RestController का उपयोग Web Services  को बनने के लिए किया जाता हैं। जो मुख्य रूप से JSON और XML के रूप में response देती ( GET ) और ( POST ) में सर्वर में भेजती हैं। Spring MVC v 4.0  ने इस @restController annotation को मुखातिब किया हैं और जिसका मुख्य उदेश्य हैं की RESTful Web Service को बनाने में सरलता प्रदान करना। 

जैसा की हम जानते हैं कि REST API Data को return करता हैं जो मुख्य रूप से JSON और XML के फॉर्म में Response देती हैं या accept करती हैं। 

@RestController object को लौटता हैं जो  Object डेटा directly HTTP Response में JSON या XML के रूप में  लिखा जाता हैं या embedded कर दिया जाता हैं। 


More on @Controller एंड @RestController 

@Controller एक सामान्य annotation हैं जो किसी Class को Spring MVC के अंतर्गत Controller के रूप में Mark करती हैं। 

वही @RestController एक खास प्रकार का controller हैं जो अपने में @controller को भी inherit करती हैं किन्तु  इसका  उपयोग RESTFul वेब सर्विसेज बनाने के लिए उपयोग किया जाता है।  यह @RestController दो annotation को अपने में निहित रखता हैं ( @Controller + @ResponseBody )


@RestController का इस्तेमाल  Web Service  API बनाने के लिए करना चाहिए। जो client के request पर माँगा गया डाटा इनफार्मेशन को JSON या XML Format प्रदान करेंगा। 

@Controller को उपयोग यूजर द्व्रारा requested वेबपेज View जो html css से बने होते हैं उन्हें serve करना चाहिए। जो /resources डायरेक्टरी में webpage html फाइल होते है। 




No comments:

Post a Comment

आप कैसे हों?