[0:01] [संगीत] [0:03] हेलो दोस्तों, स्वागत है आपका हमारे [0:05] YouTube चैनल Yahoo बाबा पे। यह हमारा [0:07] लाराव कोड से रिलेटेड 61 ट्यूटोरियल है और [0:10] लारावल के इस वीडियो कोर्स में आप सीखने [0:11] वाले हैं कि कैसे हम लाराव की हेल्प से [0:13] एपीआई को क्रिएट कर सकते हैं और उनको यूज़ [0:16] कर सकते हैं। तो आइए पहले समझते हैं कि [0:18] एपीआई का मतलब क्या होता है। देखिए जो [0:20] इसकी फुल फॉर्म है वो है एप्लीकेशन [0:21] प्रोग्राम इंटरफ़ेस। आइए इसको एक एग्जांपल [0:24] से समझते हैं कि इसकी जरूरत कहां होती है। [0:26] मान लीजिए आपकी एक वेबसाइट है जिसको आपने [0:28] लारवल के अंदर क्रिएट किया है या फिर किसी [0:30] दूसरे बैक एंड फ्रेमवर्क के अंदर जैसे [0:32] कोऑर्डिनेटर के एक पीएp और इसके साथ मान [0:34] लीजिए आप एक डाटाबेस यूज़ कर रहे हैं Mys [0:36] सीक्वल या फिर यहां पे ऐसा हो सकता है कि [0:38] कोई दूसरा डाटाबेस है जैसे सीक्वल लाइट या [0:41] फिर कोई नो सीक्वल डाटाबेस जैसे Mongo DB [0:44] या इसके अलावा कोई और भी डाटाबेसेस हो [0:46] सकते हैं। अब यहां पर हमारी कुछ [0:47] रिक्वायरमेंट ऐसी है कि जो हमारी वेबसाइट [0:49] है मान लेते हैं कि वो एक शॉपिंग की [0:51] वेबसाइट है। जो आप अपनी वेबसाइट पर [0:52] प्रोडक्ट्स दिखा रहे हैं वही सेम [0:54] प्रोडक्ट्स और वही सेम डाटा आप अपनी [0:56] मोबाइल एप्स के अंदर भी दिखाना चाहते हैं। [0:58] चाहे वो Android की एप है या फिर iPhone [1:00] की एप जिसको आपने अलग-अलग टेक्नोलॉजीस में [1:02] बनाया है। जैसे Android में या Swift में, [1:05] फ्लटर में, कॉटलिन में या फिर किसी और [1:07] दूसरे फ्रेमवर्क में। अब यहां पे होता [1:09] क्या है? जो हमारा Android फ्रेमवर्क है [1:11] या फिर Swift फ्रेमवर्क है वह सीधा से Mys [1:13] सीक्वल डाटा को असेस नहीं कर सकते या फिर [1:15] मोंगो डीबी के डाटा को या फिर ऐसा भी हो [1:18] सकता है कि हमारी जो वेबसाइट का बैक एंड [1:20] है वो लाराव में बना हुआ है और जो उसका [1:22] फ्रंट एंड है वो हमने बनाया है रेक्टस के [1:24] अंदर या फिर व्यू js या एंगुलर js के अंदर [1:27] तो रेक js व्यूs या एंगुलर js है यह भी [1:30] सीधा से डाटाबेस को असेस नहीं कर सकते [1:31] क्योंकि यह फ्रंट एंड लाइब्रेरीज़ या [1:33] फ्रेमवर्क्स होते हैं। डाटाबेस को असेस [1:35] करने के लिए हमें एक बैक एंड प्रोग्रामिंग [1:36] लैंग्वेज की ज़रूरत होती है। जैसे PHP, [1:39] Python, Go, RBI तो ऐसे कामों के लिए अगर [1:42] हमने Android के अंदर या RC js के अंदर या [1:44] Swift के अंदर हमने Mys सीकल के डाटा को [1:47] असेस करना है, मंगो डीबीसी या सीक्वल लाइट [1:48] के डाटा को असेस करना है, तो उसके लिए [1:50] यहां पर एक इंटरफ़ेस बनाया जाता है जिसको [1:52] हम बोलते हैं एपीआई एप्लीकेशन प्रोग्राम [1:55] इंटरफ़ेस। यह एक ऐसे फॉर्मेट में काम करता [1:57] है जिसको सारी लैंग्वेजज़ या सारे [2:00] फ्रेमवर्क्स इज़ली अंडरस्टैंड कर सकते हैं। [2:02] इसको बनाने से होता क्या है? जो भी हमारी [2:04] Android ऐप है या iPhone की ऐप है या फिर [2:07] हमारी वेबसाइट का जो फ्रंट हैंड है वह [2:08] रैक्ट में है या व्यू में है वह एक [2:10] रिक्वेस्ट इस एप्लीकेशन इंटरफेस को एक [2:12] रिक्वेस्ट सेंड करते हैं और जो यह [2:14] रिक्वेस्ट होती है एपीआई के थ्रू यह जाती [2:16] है सीधा डाटाबेस के पास और जैसी भी [2:18] रिक्वेस्ट गई होती है जैसे कोई डाटा को [2:20] फैच करके लाना है या डाटा को अपडेट करना [2:21] है या डिलीट करना है वो काम करने के बाद [2:24] जो हमारा डाटाबेस होता है वह एज ए [2:25] रिस्पांस कुछ ना कुछ वैल्यू एपीआई को सेंड [2:28] करता है। जैसे मान लीजिए हम एक डाटा को [2:30] असेस करना चाहते हैं तो वह डाटा फैच होके [2:32] एपीआई के पास आता है और एपीआई क्या करती [2:35] है उस डाटा को जहां से भी रिस्पांस आया [2:38] उसको सेंड कर देती है तो यही एपीआई का काम [2:40] होता है अब यहां पे एक क्वेश्चन उठता है [2:42] कि एपीआई ऐसे कौन से फॉर्मेट में काम करती [2:44] है कि वो सबको समझ में आ जाता है Android [2:47] को भी रेक्टस यू jswif को या किसी और [2:50] फ्रेमवर्क को तो देखिए जो फॉर्मेट होता है [2:52] या तो वह होता है jसon या फिर XML या फिर [2:55] ग्राफ क्यूएल जो XML है सबसे पुराना [2:58] फॉर्मेट मगर इसको समझना काफी कॉम्प्लेक्स [3:00] होता है और इसे बनाना भी। तो इसी के [3:02] रिस्पांस में Google ने एक खुद का एक [3:04] फॉर्मेट बनाया था जिसका नाम है Jसन जो [3:06] काफी ज्यादा पॉपुलर है और अभी कुछ साल [3:08] पहले Facebook ने भी एक फॉर्मेट बनाया [3:10] जिसको हम कहते हैं ग्राफिकल। यह जस्ट एक [3:12] डाटा को सेंड करने के लिए और रिसीव करने [3:14] के लिए एक फॉर्मेट होते हैं। तो हम इस [3:16] वीडियो में JSON को यूज़ करने वाले हैं। [3:18] देखिए अगर आपको एपीआई के बारे में पूरा [3:20] डिटेल में जानना है। अगर आपको उसका [3:22] बेसिक्स के बारे में कुछ भी नहीं पता तो [3:24] मैंने ऑलरेडी इस पे एक कंप्लीट कोर्स बना [3:26] रखा है पीएपी के साथ। अगर आपने वह वीडियोस [3:28] नहीं देखी हुई है तो उसका लिंक भी आपको [3:30] ऊपर मिल जाएगा। तो आइए अब इसके बाद देखते [3:31] हैं कि हम larvल के अंदर एपीएस कैसे [3:34] क्रिएट करेंगे। तो देखिए ऐसे काम करने के [3:36] लिए लारावेल के अंदर बहुत से पैकेजेस आते [3:38] हैं। मेनली इसके अंदर दो पैकेजेस हैं जो [3:40] लाराव ने खुद ने बनाए हैं। एक का नाम है [3:42] यहां पे sm और दूसरे का नाम है यहां पर [3:44] पासपोर्ट। इसके अलावा भी बहुत सारे थर्ड [3:46] पार्टी पैकेजेस आते हैं जिनसे आप एपीआई को [3:49] क्रिएट कर सकते हैं और उसको यूज़ कर सकते [3:50] हैं। तो इस वीडियो के अंदर हम यहां पर जो [3:52] पैकेज यूज़ करने वाले हैं, उसका नाम है [3:54] सtम। देखिए जो सटम है इस पैकेज का यूज़ हम [3:57] तब करते हैं अगर हमारी वेबसाइट जो है एक [3:58] छोटे लेवल की है या फिर एक मीडियम लेवल की [4:01] है और अगर आप यहां पर कोई कॉम्प्लेक्स [4:03] वेबसाइट बना रहे हैं जिसके अंदर [4:05] कॉम्प्लेक्स एपीआई बनेंगी तो वहां पर हम [4:07] दूसरा पैकेज यूज़ कर सकते हैं जिसका नाम है [4:09] पासपोर्ट तो मोस्टली केसेस में यहां पर हम [4:11] सटम ही यूज़ करते हैं। इनको यूज़ करने का [4:13] तरीका ऑलमोस्ट सेम ही होता है। आगे आने [4:15] वाली वीडियो में मैं आपको पासपोर्ट के [4:17] बारे में बताऊंगा कि पासपोर्ट से एपीआई [4:19] कैसे कनेक्ट करते हैं। अगर आप इन दोनों [4:20] पैकेजेस का यूज़ नहीं भी करना चाहते तो भी [4:23] आप इसमें इज़ली काम कर सकते हैं। जैसे हम [4:24] पी PHP के अंदर अपनी खुद की एपीआई क्रिएट [4:27] करते हैं। बिल्कुल वही काम आप यहां पर लार [4:29] लेवल के अंदर भी कर सकते हैं। मगर इस [4:31] वीडियो के अंदर हम यहां पर सटम यूज़ करने [4:33] वाले हैं। इसके कुछ एडवांस फीचर्स भी होते [4:35] हैं। जैसे इसके अंदर इनबिल्ट सिक्योरिटी [4:37] सिस्टम होता है जिसको हम टोकन कहते हैं [4:39] बेसिकली और इसमें काम करना और इसको हैंडल [4:41] करना और इसकी जो परफॉर्मेंस होती है वह [4:43] काफी अच्छी होती है। तो आइए अब समझते हैं [4:45] कि smt के अंदर जब हम एपीएस को क्रिएट [4:47] करते हैं तो उसका टोटल प्रोसेस क्या होता [4:49] है। देखिए अभी तक हम यह जान गए हैं कि [4:52] हमारी एक वेबसाइट है और जिसके साथ हम एक [4:54] डाटाबेस यूज़ कर रहे हैं माय सीक्वल का और [4:56] इन दोनों के बीच में हम काम करने के लिए [4:58] अपनी खुद की एक एपीआई क्रिएट कर रहे हैं [5:00] और उसके लिए हम यूज़ करने वाले हैं sm [5:02] एपीआई का पैकेज। अब यह पैकेज कैसे काम [5:04] करता है? मान लीजिए सबसे पहले जब हम अपनी [5:07] वेबसाइट पे जाएंगे और वहां पर लॉगिन [5:09] करेंगे। तो लॉग इन करने के लिए सबसे पहले [5:11] हमारी वेबसाइट से एक रिक्वेस्ट जाएगी [5:13] सर्वर पर जो जाएगी सीधा एपीआई के पास। इस [5:16] लॉगिन एपीआई के अंदर हमारे क्रेडेंशियल्स [5:19] की इंफॉर्मेशन भेजी जाएगी। मतलब कि [5:20] यूजरनेम और ईमेल को और जो एपीआई है वो [5:23] उसको आगे डाटाबेस में चेक करने के लिए भेज [5:25] देगी। अगर वो क्रेडेंशियल्स मैच कर जाते [5:27] हैं। मतलब कि यूजरनेम और पासवर्ड अगर मैच [5:29] कर जाते हैं तो sm एपीआई क्या करता है? [5:32] डाटाबेस में एक टोकन सेव कर देता है। जिस [5:35] टोकन को हम आगे अपनी वेबसाइट में कहीं [5:37] यूज़ करेंगे। और एज ए रिस्पांस जो हमारा [5:40] माय सीकल डाटाबेस है वह रिस्पांस एज ए [5:42] एपीआई टोकन को सेंड करता है और एक मैसेज [5:44] भी सेंड करता है कि डाटा सक्सेसफुली असेस [5:47] हुआ है कि नहीं। अगर वह सक्सेसफुली असेस [5:49] नहीं हो पाया मतलब कि यूजरनेम और पासवर्ड [5:51] अगर मैच नहीं हुए हैं तो वह कोई भी टोकन [5:53] सेव नहीं करता। वह सीधा ही एक फेल का [5:56] मैसेज एबीआई को सेंड कर देता है। और अगर [5:58] क्रेडेंशियल्स मैच कर जाते हैं तो वह एक [6:00] टोकन सेव करके एज ए रिस्पांस एबीआई को [6:02] सेंड कर देता है। और एपीआई क्या करता है? [6:04] वही सेम टोकन हमारी वेबसाइट को सेंड कर [6:07] देता है जिसे हम आगे जाकर कहीं पर भी सेव [6:09] कर सकते हैं। जैसे लोकल स्टोरेज में, [6:11] सेशंस में, कुकीज़ में जिसको हम अंदर वाले [6:14] पेजेस में आगे जाके चेक करेंगे। तो इस तरह [6:16] से यह नॉर्मल एपीआई से अलग होता है sm [6:18] एपीआई। यह बेसिकली अपने आप से ही एक [6:21] सिक्योरिटी का टोकन यहां पर सेव कर देता [6:23] है। तो जब भी हम सटम एपीआई को यूज़ करते [6:25] हैं, तो हमें सेशंस का यूज करने की कोई [6:27] जरूरत नहीं रहती है। क्योंकि यह डाटाबेस [6:29] के अंदर खुद से ही टोकन सेव कर देता है और [6:31] अंदर वाले पेजेस पे जहां पर भी हमें [6:34] ऑथेंटिकेशन की जरूरत है, वहां पर हमारे [6:36] वेबसाइट से जो एक टोकन जाता है, उसी को [6:38] बाद में चेक करता रहता है। अब इसके बाद [6:40] देखते हैं कि अगर हमने वेबसाइट पे जब [6:42] लॉगिन कर लिया और हमारे पास यह टोकन भी आ [6:44] गया जिसे हमने लोकल स्टोरेज में या सेक्शन [6:46] में सेव भी कर लिया है। अब इसके बाद अंदर [6:48] वाले जो पेजेस हैं जैसे कोई पोस्ट का पेज [6:50] या प्रोडक्ट का पेज, कैटेगरी का पेज। [6:52] उसमें जो प्रॉपर क्लोड सिस्टम होता है [6:54] जिसमें हम डाटा को रीड करते हैं, अपडेट, [6:56] इंसर्ट या डिलीट करते हैं उन पेजेस को जब [6:58] भी हम असेस करने लगेंगे तो हमें सर्वर पे [7:00] मतलब कि एपीआई में ये टोकन भी सेंड करना [7:03] पड़ेगा। जैसे हम डाटा को रीड करना चाहते [7:05] हैं तो हम यह टोकन भी सेंड करेंगे और अपनी [7:07] रिक्वेस्ट भी करेंगे सेंड एपीआई को कि [7:10] हमें कौन से पेज का डाटा देखना है। और [7:12] यहां पर सटाइम एपीआई क्या करेगा? उस टोकन [7:14] को पहले हमारे डाटाबेस के टोकन से चेक [7:16] करेगा। अगर वह सेम है और वह एक्सिस्ट भी [7:19] कर रहा है हमारे डाटाबेस में तभी वह हमारी [7:21] रिक्वेस्ट का एज ए रिस्पांस सेंड करेगा। [7:23] तो सेंटम एपीआई में यहां पर एक स्पेशल से [7:25] अलग फीचर होता है जिसको हम कहते हैं टोकन। [7:27] अब इन एपीआई को यूज करने का तरीका बिल्कुल [7:29] सेम रहेगा। जैसे हम अपने पीएपी कोर्स में [7:31] भी देख चुके हैं। हमारी यह कोई भी [7:33] रिक्वेस्ट हम एचटीटीपी से भेज सकते हैं। [7:35] और जो भी हमारा एचटीटीपी का मेथड रहेगा वो [7:37] सेम ही रहेगा जो हम मोस्टली एपीआई के साथ [7:40] एजेक्स में यूज़ करते हैं। जैसे कि रीड के [7:43] केस में यहां पर आता है गेट। अपडेट के केस [7:45] में हम यहां पर पुट मेथड का यूज़ करते हैं [7:47] या पैच मेथड का। इंसर्ट के लिए हम यहां पर [7:49] पोस्ट मेथड का यूज करते हैं और डिलीट के [7:52] केस में हम यहां पर डिलीट मेथड का यूज [7:54] करते हैं। तो आइए अब इसके बाद समझते हैं [7:55] कि जो हमने यह ऊपर प्रोसेस समझा है लॉग इन [7:57] का इसको अगर हमें कोड करना हो लारावेल के [8:00] अंदर तो हम उसके स्टेप्स कैसे फॉलो [8:01] करेंगे। तो देखिए जो सबसे पहला हमारा [8:04] स्टेप होता है जब भी हम सेंटम के साथ [8:06] एपीआई क्रिएट करना चाहते हैं तो सबसे पहले [8:08] हमें यहां पर लारावेल के अंदर अपनी एक [8:09] आर्टिसन की कमांड रन करनी होती है। PHP [8:12] आर्टिसन इंस्टॉल कॉलन एपीआई। यह कमांड [8:14] बेसिकली करती क्या है? यह दो काम करती है। [8:17] सबसे पहले तो यह हमारे प्रोजेक्ट के अंदर [8:19] smt एपीआई का पैकेज इंस्टॉल कर देती है। [8:23] और उसी के साथ यह यहां पर क्या करती है? [8:25] यह राउट फोल्डर के अंदर जाकर एक अलग से [8:27] फाइल भी बना देती है। एपीआई. Php। जैसे कि [8:30] हम अपनी पिछली वीडियोस में देख चुके हैं [8:32] कि राउट फोल्डर के अंदर एक फाइल होती है [8:34] वेब. PHP जिसके अंदर हम अपने राउट्स बनाते [8:36] हैं। तो देखिए जब आप एपीआई से अपना काम [8:39] करेंगे तो इसके राउट भी हम अलग से एक फाइल [8:41] में बनाते हैं जिसको हम कहते हैं API. PHP [8:44] तो जब ये दोनों काम हो जाते हैं इसके बाद [8:46] ही हमारा नेक्स्ट काम शुरू होता है। हमें [8:48] सबसे पहले ओपन कर लेनी है अपनी मॉडल की [8:50] फाइल जो मतलब कि मॉडल्स फोल्डर के अंदर [8:52] होती है यूजर पीएp फाइल। और इस फाइल के [8:55] अंदर आकर हमें सटम का एक मेथड यूज करना [8:58] होता है जिसे हम कहते हैं हैज़ एपीआई टोकन। [9:00] तो उसके लिए हमें सबसे पहले क्या करना है? [9:02] ऊपर फाइल में यूज़ करना है लार्वल सेंटम# [9:06] एपीआई टोकंस। यह मेथड को यूज़ करना जरूरी [9:10] है। तभी आपका जो एपीआई है वो टोकन क्रिएट [9:12] कर पाएगा। और इसको नीचे क्लास के अंदर आप [9:14] इस तरह से यूज़ कर लेंगे। यूज़ हैज़ एपीआई [9:17] टोकंस। तो ये दोनों स्टेप्स के बाद अब [9:19] हमारे को क्या करना है? जब भी हमारे को [9:21] अपनी वेबसाइट में जाकर कहीं पर भी लॉग इन [9:23] लगाना है। जैसे मान लीजिए यूजर का [9:25] कंट्रोलर फाइल है। उसके अंदर हम एक मेथड [9:27] बना लेते हैं लॉग इन नाम से जिसके अंदर [9:29] फॉर्म की सारी रिक्वेस्ट आएंगी जो यूजरनेम [9:32] और पासवर्ड होगा। और उसको चेक करने के लिए [9:34] हम अपना ऑथेंटिकेशन का सेम मेथड यूज़ [9:37] करेंगे। जो हमने लाराव की ऑथेंटिकेशन [9:39] वीडियो में देखा था। आउट अटेम्प्ट ये [9:42] देखिए। तो इफ के अंदर मैंने यहां पे चेक [9:44] कर लिया कि हमारी जो ऑथेंटिकेशन है उसका [9:45] मैं अटेम्प्ट कर रहा हूं। ईमेल को चेक [9:47] करूंगा और पासवर्ड को। अगर यह दोनों [9:49] रिक्वेस्ट मैच कर जाती हैं हमारे डाटाबेस [9:52] में तो हम इस इफ कंडीशन के अंदर आ जाएंगे [9:54] और अगर यह फेल हो जाता है अटेम्प्ट तो यह [9:56] एल्स पार्ट के अंदर आ जाएगा। अब जब हम [9:58] एपीआई में काम करते हैं तो मैंने आपको [10:00] बताया कि हमारा जो रिस्पांस होता है और जो [10:02] रिक्वेस्ट होती है दोनों ही jसन फॉर्मेट [10:04] में होंगे या XML या फिर ग्राफ क्यूएल [10:07] में। तो इस वीडियो के अंदर तो हम JSON यूज़ [10:09] कर रहे हैं। तो हम क्या करेंगे यहां पर एज़ [10:11] ए रिस्पांस एक jसन का फॉर्मेट सेंड [10:13] करेंगे। अगर हमारा ये ऑथेंटिकेशन मैच हो [10:16] जाती है। कुछ इस तरह से। देखिए मैंने यहां [10:18] पर रिटर्न किया रिस्पांस। ये रिस्पांस नाम [10:21] का मेथड है जिसके अंदर एक मेथड आता है [10:23] जसन। मतलब कि जो हमारा रिस्पॉन्स है वो [10:25] किस फॉर्मेट में है? JSON फॉर्मेट में। और [10:27] इस जसन के अंदर हम यहां पर एक एरे पास [10:30] करेंगे। ये JSON मेथड क्या करेगा? उस एरे [10:32] को JSN फॉर्मेट में कन्वर्ट करके यूजर को [10:36] शो कर देगा। तो इस एरे के अंदर मैंने यहां [10:38] पर मल्टीपल कीज़ ली हैं। जैसे पहले मैंने [10:40] लिया स्टेटस जिसकी वैल्यू मैंने दे दी [10:42] ट्रू। जिसका मतलब जो आपने अटेम्प्ट करने [10:44] की कोशिश की थी, वह सक्सेसफुली अटेम्प्ट [10:46] हो चुका है। इस की का यूज़ करना ज़रूरी नहीं [10:49] है या इसका नेम भी जो आप अलग रखना चाहते [10:51] हैं, वो भी इज़ली रख सकते हैं। इसके बाद आप [10:53] यूज़र को कोई मैसेज शो करना चाहते हैं, तो [10:55] एक मैसेज नाम की की भी ले सकते हैं या [10:57] इसका रीनेम भी कर सकते हैं। उसके अंदर [10:59] मैंने एक मैसेज डाल दिया। और यहां पर लॉग [11:01] इन के टाइम पे जैसे मैंने आपको बताया था [11:03] कि सटम से हम क्या करते हैं? डाटाबेस में [11:06] एक टोकन सेव करा देते हैं। तो उसके लिए हम [11:08] यहां पे क्या करेंगे? एक टोकन नाम की की [11:10] लेंगे और उसके अंदर जो हमारा ऑथेंटिकेटेड [11:12] यूजर है जिसने लॉगिन किया है उसकी हेल्प [11:15] से यहां पर एक टोकन क्रिएट करेंगे। तो [11:17] उसके लिए हम सटम का एक मेथड यूज़ करते हैं [11:19] जिसका नाम है क्रिएट टोकन। क्रिएट टोकन [11:21] करने के बाद हम इसके अंदर एक की दे देते [11:24] हैं। यह कोई भी नेम हो सकता है। आप अपनी [11:25] मर्जी का कोई भी नाम रख सकते हैं। यह इस [11:28] की में एक वैल्यू स्टोर कर देगा। किस [11:30] फॉर्मेट में करेगा? प्लेन टेक्स्ट फॉर्मेट [11:32] में। यह सब डाटाबेस में सेव होगा सबसे [11:35] पहले। और उसके बाद यह एज ए रिस्पांस भी यह [11:37] की सेंड करेगा यूजर को जो यह डाटाबेस में [11:40] क्रिएट कर रहा है वही की यूजर को भी सेंड [11:42] कर देगा जो बाद में जाकर हम अपने सिस्टम [11:44] पे कहीं पे भी स्टोर करा सकते हैं सेशंस [11:46] की हेल्प से कुकीज़ से या फिर लोकल स्टोरेज [11:49] से जो हम नेक्स्ट वीडियो में सीखने वाले [11:50] हैं और यहां पर आपको एक बात याद रखनी है [11:52] कि जब भी हम सटम के साथ यह टोकन क्रिएट [11:55] करते हैं तो उसका एक टाइप भी होता है। तो [11:57] नेक्स्ट फॉर्मेट में आपको यहां एक की लेनी [11:59] है टोकन टाइप और इसके अंदर पास करना है [12:01] बियर। देखिए टोकन अलग-अलग टाइप के हो सकते [12:04] हैं। मगर जो सटम यूज़ करता है उसका नाम है [12:06] बियर। तो यह आपको हमेशा पास करना है जब भी [12:08] आप टोकन क्रिएट करने लगेंगे। यहां पे टोकन [12:11] से रिलेटेड एक बात मैं और भी बताना चाहता [12:12] हूं। जब भी आप यह टोकन क्रिएट करते हैं, [12:15] तो यह परमानेंटली सेव हो जाता है। यह अपने [12:17] आप से एक्सपायर नहीं होता है। जैसे कुकीज़ [12:19] और सेशंस अपने आप से एक्सपायर भी हो सकते [12:22] हैं। मगर टोकन जो है यह अपने आप से [12:24] एक्सपायर नहीं होता है। अगर आप चाहते हैं [12:26] कि यह पर्टिकुलर जैसे 1 घंटे बाद, 2 घंटे [12:28] बाद या 24 घंटे बाद या 1 महीने बाद [12:31] एक्सपायर हो जाए, तो उसके लिए आप इसी मेथड [12:33] के अंदर टोकन क्रिएट करने के बाद यहां पर [12:35] एक्सपायरेशन भी सेट कर सकते हैं। जो हम [12:37] आगे देखेंगे कि हम कैसे कर सकते हैं। और [12:40] लास्ट में यहां पर मैं आपको एक चीज़ बताना [12:41] चाहता हूं। जब भी आप JSON का फॉर्मेट सेट [12:44] करते हैं तो यहां पर जो सेकंड पैरामीटर [12:46] होता है JSON मेथड के अंदर वह होता है [12:48] इसका रिस्पांस कोड। यहां पर अलग-अलग तरीके [12:51] के कोड आते हैं। जैसे कि हम अपने पीएपी [12:53] कोर्स में भी देख चुके हैं अजैक्स के साथ। [12:55] तो एक कोड होता है 200 जिसका मतलब होता है [12:57] कि हमारा डाटा सक्सेसफुली एज ए रिस्पांस [12:59] में आ चुका है। जो हमने रिक्वेस्ट करी थी [13:01] उसका रिस्पांस भी सक्सेसफुली आ चुका है। [13:04] यहां पर और भी बहुत तरीके के कोड्स होते [13:06] हैं जो अभी मैं आपको आगे डिटेल में बताने [13:08] वाला हूं। अब आते हैं इसके एल्स पार्ट [13:09] में। अगर हमारा जो यूजरनेम और पासवर्ड है [13:12] वह मैच नहीं होता तब यह एल्स पार्ट में आ [13:14] जाएगा। तो देखिए यह जो एल्स पार्ट में जो [13:16] हम डाटा रिस्पांस में हम सेंड करेंगे वो [13:18] भी जेसन फॉर्मेट में ही होना चाहिए कुछ इस [13:20] तरह से। तो मैंने यहां पर रिटर्न किया [13:22] रिस्पांस और वो भी जसन फॉर्मेट में। इसके [13:24] अंदर एक एरे पास कर दिया स्टेटस में लिख [13:26] दिया फॉल्स। क्योंकि इसका स्टेटस हो गया [13:28] फॉल्स। और यहां पे मैसेज भी डाल दिया कि [13:30] आपका यूजरनेम और पासवर्ड मैच नहीं हुए [13:32] हमारे रिकॉर्ड से। और यहां पर रिस्पांस [13:35] कोड भी दे दिया 401। जिसका मतलब है कि [13:37] आपकी जो ऑथेंटिकेशन का जो प्रोसेस था वह [13:40] फेल हो चुका है। आप एक अन ऑथराइज्ड यूजर [13:42] हैं। आप जरूरी नहीं कि 401 ही पास करेंगे। [13:44] यहां पर कोई और भी कोड पास कर सकते हैं जो [13:46] अभी मैं आपको आगे जाके डिटेल में समझाने [13:48] वाला हूं। तो इस तरह से मैंने यह लॉग इन [13:50] की अपनी एपीआई क्रिएट कर ली। अब जैसा कि [13:52] मैंने आपको बताया था कि यह जो टोकन होता [13:54] है यह अपने आप से डिलीट नहीं होता। अगर आप [13:57] इसे डिलीट करना चाहते हैं तो या तो आप इस [13:59] पे एक्सपाइरेशन का कोई कोड लगा सकते हैं [14:01] जिसमें आप टाइम सेट कर सकते हैं या फिर हम [14:03] इसे लॉगउ के टाइम पर डिलीट कर देते हैं। [14:05] जैसे हम सेशंस को डिलीट करते हैं। तो उसको [14:08] भी आइए समझते हैं। तो वो है हमारा फोर्थ [14:10] स्टेप जिसके अंदर हम क्या करेंगे? हम एक [14:12] मेथड बना लेते हैं अपनी यूजर कंट्रोलर [14:14] फाइल के अंदर जिसका नाम है लॉग आउट। और [14:16] इसके अंदर भी यूजर की रिक्वेस्ट आएगी। अब [14:18] इसके अंदर हमारे को सबसे पहला काम क्या [14:19] करना है? हमें यहां पर यूजर को यहां पर [14:21] डिटेक्ट करना है जिसने रिक्वेस्ट करी है [14:23] और टोकन को डिलीट करना है कुछ इस तरह से। [14:26] तो देखिए मैंने यहां पर लिया जिस यूजर की [14:28] भी यहां पर रिक्वेस्ट आई है उस यूजर को [14:30] यहां पर पिक कर लिया और उसी यूजर के अंदर [14:32] जाकर जो उसका टोकन क्रिएट हुआ हुआ था उसको [14:35] मैंने यहां पर डिलीट कर दिया। अब यह डिलीट [14:37] क्या करेगा? यह डाटाबेस के टेबल के अंदर [14:40] जाकर जहां पर भी हमारा टोकन सेव हुआ है, [14:42] उस टोकन को अपने आप से रिमूव कर देता है। [14:44] और जैसे ही यह टोकन रिमूव हो जाता है, [14:46] इसके बाद में भी हम यहां पर एज ए जसन [14:48] रिस्पांस सेंड करेंगे। कुछ इस तरह से। तो [14:51] देखिए, मैंने यहां पर लिखा रिस्पांस। किस [14:53] फॉर्मेट में? jसन फॉर्मेट में। इसके अंदर [14:54] एक एरे पास कर दिया। स्टेटस ट्रू यूजर की [14:57] इनेशन सेंड कर दी। यह जरूरी नहीं है सेंड [14:59] करना। अगर आप नहीं करना चाहते तो इस की को [15:02] हटा भी सकते हैं। और यह मैसेज भी जरूरी [15:04] नहीं है। अगर आप मैसेज दिखाना चाहते हैं [15:05] कि आप लॉगउ हो चुके हैं तो यह मैसेज भी आप [15:08] हटा सकते हैं। और इसके बाद यहां पर आप [15:09] रिस्पांस कोड सेंड कर देंगे कि आपने जो [15:12] रिक्वेस्ट करी थी उसका रिस्पांस [15:13] सक्सेसफुली अचीव हो चुका है। तो 200 का [15:16] मतलब होता है ओके। तो यहां पर हमने सीख [15:18] लिया कि कैसे हम अपनी खुद की एपीआई क्रिएट [15:19] करते हैं और उसको कैसे डिलीट करते हैं। अब [15:21] जो यह रिस्पांस कोड होता है आइए इसको मैं [15:23] आपको थोड़ा सा डिटेल में समझा देता हूं। [15:25] तो देखिए हमारे पास यहां पे कई तरीके के [15:27] रिस्पांस कोड्स आते हैं। तो उसमें सबसे [15:29] पहला आता है 200 जिसका मतलब होता है ओके। [15:32] मतलब कि जो सी भी आपने रिक्वेस्ट करी थी [15:34] उसको सक्सेसफुली एज अ रिस्पांस सेंड कर [15:36] दिया गया है। इसके बाद आता है यहां पर [15:38] 2001। इसका मतलब होता है कि जो भी आपने [15:40] डाटा क्रिएट करने को बोला था, वह [15:42] सक्सेसफुली पोस्ट के मेथड से यहां पर [15:44] कंप्लीट हो चुका है। तो, यह हम बेसिकली [15:46] तभी यूज़ करते हैं जब हम एक नया डाटा ऐड [15:48] करते हैं या अपडेट करते हैं। इसके बाद एक [15:50] रिस्पांस कोड आता है 204। इसका यूज़ [15:53] बेसिकली हम तब करते हैं जब हम डाटा को [15:55] डिलीट करते हैं। क्योंकि जब भी हम डाटा को [15:56] डिलीट करते हैं तो एज ए रिस्पांस कोई [15:58] मैसेज सेंड नहीं करते हैं। मतलब कि कोई [16:00] डाटा। तो उसके लिए हम यहां पर सेट कर देते [16:02] हैं 204 जिसका मतलब हमारा ब्राउज़र या फिर [16:05] हमारी मोबाइल ऐप खुद से ही समझ जाते हैं [16:07] कि कोई भी डाटा साथ में नहीं आया एज ए [16:09] रिस्पांस। एक कोड होता है 400 जिसका मतलब [16:12] होता है बैड रिक्वेस्ट। मतलब कि जो सी भी [16:14] आपने रिक्वेस्ट यहां पर सर्वर को सेंड की [16:17] है एज ए एपीआई वह एक बैड रिक्वेस्ट है। एक [16:20] होता है यहां पर 401 जिसका मतलब होता है [16:22] कि आपके ऑथेंटिकेशन जो है वह फेल हो चुकी [16:25] है। आपका यूजरनेम और पासवर्ड मैच नहीं हुआ [16:27] है। तो एज ए रिस्पांस हम यहां पे एक जो [16:30] मैसेज सेंड कर रहे हैं उसके साथ यहां पे [16:31] लिख देते हैं 401 जिससे हमारी मोबाइल ऐप [16:34] को या फिर रक्टस या व्यू js को यह पता लग [16:36] जाता है कि ऑथेंटिकेशन फेल हो चुकी है। [16:39] बिल्कुल ऐसे ही मैच करता हुआ एक कोड होता [16:41] है 403। इसका यूज़ हम तब करते हैं अगर यूजर [16:44] बिना लॉग इन हुए किसी ऐसे पेज की [16:46] रिक्वेस्ट करता है जो सिर्फ लॉगिन हुआ [16:48] यूजर ही देख सकता है। तब हम उसे यह वाला [16:50] मैसेज शो कर देते हैं 403। इसका मतलब होता [16:53] है कि आपको उस पेज का असेस नहीं है। [16:55] बिल्कुल ऐसे एक मैसेज होता है 404। इसका [16:58] यूज़ हम तब करते हैं अगर यूजर ने किसी ऐसे [17:00] पेज की रिक्वेस्ट की है जो हमारे सर्वर पे [17:02] नहीं है। मतलब कि किसी ऐसे एपीआई यूआरएल [17:04] का रिक्वेस्ट की है जो हमारे सर्वर पे [17:06] एग्ज़िस्ट ही नहीं करता। और लास्ट में [17:08] हमारा एक कोड है जिसका नंबर होता है 500। [17:11] यह सर्वर की बेसिकली एरर होती है। कई बार [17:13] क्या होता है? हमारा सर्वर शटडाउन हो जाता [17:15] है या हैंग हो जाता है। तो यूजर जो भी [17:17] रिक्वेस्ट कर रहा है एपीआई की वो सर्वर तक [17:19] पहुंच ही नहीं पाती है। वो फुलफिल ही नहीं [17:21] हो पाती। तो उस केस में सर्वर हमारे को एक [17:23] एरर मैसेज सेंड करता है 500 का। तो अगर हम [17:26] यह अपनी एपीआई के अंदर लगाना चाहते हैं [17:28] इसका कोई मैसेज शो करना चाहते हैं खुद से [17:30] तो हम वहां पर यह वाला कोड भी यूज़ कर सकते [17:32] हैं 500। तो ये थे कुछ कॉमन यूज़ होने वाले [17:34] कोड्स। इसके अलावा भी कहीं कोड्स आते हैं [17:37] जो आप नेट पे जाके चेक कर सकते हैं। अब [17:39] इसके बाद बात करते हैं जो हम इस वीडियो के [17:41] अंदर एक एपीआई का प्रोजेक्ट क्रिएट करने [17:42] वाले हैं। उसके अंदर हम क्या-क्या करने [17:44] वाले हैं? तो देखिए उसके लिए बेसिकली मैं [17:46] यहां पर दो कंट्रोलर की फाइल बनाऊंगा। आउट [17:48] कंट्रोलर और पोस्ट कंट्रोलर। सबसे पहले [17:50] आउट कंट्रोलर की बात करते हैं। उसके अंदर [17:52] मैं यहां पर तीन मेथड्स बनाने वाला हूं। [17:54] रजिस्ट्रेशन, लॉग इन, लॉग आउट। जिसमें [17:57] यूजर का रजिस्ट्रेशन कराया जाएगा। उसका [17:58] लॉग इन होगा और लॉग आउट होगा। लॉगिन के [18:01] टाइम पे हम यहां पर एक टोकन जनरेट करेंगे, [18:03] जिसको हम दूसरी कंट्रोलर फाइल के अंदर यूज़ [18:06] करने वाले हैं जिसका नाम है पोस्ट [18:07] कंट्रोलर। तो, पोस्ट कंट्रोलर के अंदर हम [18:09] पोस्ट से रिलेटेड एक पूरा क्रूड सिस्टम [18:11] जनरेट करेंगे। जैसे कि हम रिसोर्स [18:13] कंट्रोलर के अंदर करते ही हैं। शो ऑल [18:15] पोस्ट, शो सिंगल पोस्ट, स्टोर पोस्ट, [18:17] अपडेट पोस्ट और डिलीट पोस्ट। तो इन सारे [18:19] मेथड को अगर यूजर असेस करना चाहता है, तो [18:22] उसे लॉग इन होना जरूरी है। और हम इन सारी [18:24] पोस्टों में जो यूजर ने लॉग इन के टाइम पे [18:27] टोकन जनरेट किया होगा, उसका यूज़ करेंगे [18:29] इसके अंदर। और इसी सेम प्रोजेक्ट के अंदर [18:31] आप एक स्पेशल चीज भी सीखने वाले हैं कि हम [18:33] कैसे एपीआई की हेल्प से इमेज को अपलोड कर [18:35] सकते हैं। मोस्टली स्टूडेंट्स की यह [18:37] रिक्वायरमेंट रहती है कि एपीआई की हेल्प [18:39] से हम कैसे इमेज को अपलोड करते हैं। तो वो [18:41] मैं इसी वीडियो के अंदर बताने वाला हूं। [18:42] तो आइए अब शुरू करते हैं प्रैक्टिकल। [18:45] तो देखिए प्रैक्टिकल को आगे शुरू करने से [18:47] पहले मैं आपको दिखाना चाहता हूं कि हमारा [18:48] ऑलरेडी इस पे कोर्स बना हुआ है एपीआई से [18:50] रिलेटेड पीएपी कोर्स के अंदर। तो यहां पे [18:52] हमारी एक सीरीज है। इसका लिंक भी आपको ऊपर [18:55] मिल जाएगा। यह है पीएp aक्स की सीरीज। इसी [18:58] के अंदर अगर आप थोड़ा सा स्क्रॉल करेंगे [19:00] तो यहां पर आपको टॉपिक दिखेगा jसन jसन और [19:04] उससे रिलेटेड एपीआई का कि एपीआई कैसे [19:07] क्रिएट करते हैं अगर आपको एपीआई के बारे [19:10] में बेसिक्स नहीं आता तो आप इस वीडियोस को [19:12] पहले देख सकते हैं जिससे आपको कंप्लीट [19:13] नॉलेज हो जाएगी कि एपीआई क्या होती है [19:15] json क्या होता है कैसे हम इसको अपने [19:17] प्रोजेक्ट के अंदर क्रिएट कर सकते हैं या [19:19] इसको यूज़ कर सकते हैं। इसके बाद मैं आपको [19:22] दिखाता हूं कि इस प्रोजेक्ट के अंदर जो हम [19:23] अपनी एपीआई को टेस्ट करने के लिए [19:24] सॉफ्टवेयर यूज़ करने वाले हैं, उसका नाम है [19:26] पोस्टमैन। तो, आप Google पे जाएंगे, [19:28] पोस्टमैन लिखेंगे, वेबसाइट ओपन हो जाएगी [19:30] postman.com। [19:32] यह देखिए, यह वही सॉफ्टवेयर है जिसको हमने [19:34] अपने पीएपी कोर्स के अंदर भी यूज़ किया था [19:36] एपीआई को टेस्ट करने के लिए। जब आप इसे [19:38] डाउनलोड करना चाहते हैं, तो आप यहां पे [19:40] जाएंगे प्रोडक्ट्स में और यहां पर आपको [19:42] लिंक दिखेगा डाउनलोड पोस्टमैन। [19:45] यह देखिए जैसे ही यह पेज ओपन होगा यह अपने [19:47] आप से ही डिटेक्ट कर लेगा कि आपने इसको [19:49] किस ऑपरेटिंग सिस्टम के अंदर ओपन किया है। [19:52] अगर आपने मैक में ओपन किया होगा तो यहां [19:54] पे लिखा आ जाएगा Mac। अभी मैं Windows का [19:56] यूजर हूं तो यहां पे आ गया Windows। आप [19:58] यहां से जाकर इसे डाउनलोड कर सकते हैं और [20:00] एपीएस को टेस्ट कर सकते हैं। आप इसका वेब [20:02] वर्जन भी यूज कर सकते हैं। अगर आप इसे [20:04] अपने सिस्टम पर इंस्टॉल नहीं करना चाहते [20:05] तो आप यह वर्जन भी यूज़ कर सकते हैं। मगर [20:08] मैंने इसे ऑलरेडी डाउनलोड करके रखा हुआ है [20:10] और इसे इंस्टॉल भी कर लिया है। इसकी [20:12] इंस्टॉलेशन का प्रोसेस बिल्कुल सिंपल है। [20:14] नेक्स्ट नेक्स्ट करके आप इसे इज़ली इंस्टॉल [20:16] कर सकते हैं। और जो भी हम इस वीडियो के [20:18] अंदर सीखने वाले हैं वो है STM एपीआई। [20:20] इसका लिंक भी आपको नीचे डिस्क्रिप्शन में [20:22] मिल जाएगा। आप इसको लार की डॉक्यूमेंटेशन [20:25] के अंदर जाकर भी चेक कर सकते हैं। यहां पर [20:27] आप देख सकते हैं कि यहां पर जब आप जाएंगे [20:29] पैकेजेस में तो इसके अंदर आपको एक लिंक [20:31] दिखेगा जिसका नाम है smt। अगर आप पासपोर्ट [20:34] लगाना चाहते हैं तो पासपोर्ट भी लगा सकते [20:35] हैं। इसका लिंक ऊपर है। तो यह देखिए यह sm [20:38] का लिंक है। जो भी हम इस वीडियो के अंदर [20:40] सीखने वाले हैं। वो सभी इस पेज के अंदर [20:42] डिफाइन किया हुआ है। इसमें कुछ एक्स्ट्रा [20:43] फीचर्स भी बताए गए हैं। जो हम इस वीडियो [20:46] के अंदर तो यूज़ नहीं करेंगे। मगर आप खुद [20:49] से भी पढ़कर उनको यूज कर सकते हैं। तो आइए [20:52] अब चलते हैं अपने एडिटर में। यह देखिए [20:55] यहां पर मैंने अपना एडिटर ओपन कर लिया [20:57] वीएस कोड और यहां पर अपना एक प्रोजेक्ट भी [20:58] बनाया है sm hfन एपीआई। अब इसके अंदर आकर [21:02] सबसे पहले हमारा काम क्या है? सबसे पहले [21:04] हम यहां पर फाइल ओपन करेंगे और अपने [21:06] डाटाबेस की सेटिंग कर लेंगे। [21:11] यह देखिए हम जो डाटाबेस यूज़ करने वाले [21:13] हैं, उसका नाम है माय सीक्वल। [21:16] और यह सब अनकमेंट हो रखा है। इसको मैं हटा [21:18] देता हूं। हमारे डाटाबेस का नाम रहेगा sm [21:22] hfन एपीआई और यूजरनेम रूट ही है। पासवर्ड [21:25] कुछ भी नहीं है मेरे केस में। आपके केस [21:27] में जो भी पासवर्ड होगा आप यहां पे सेट कर [21:29] लेंगे। और यहां पर सेशन ड्राइवर की जगह हम [21:31] यहां पे सेट कर देते हैं फाइल। यह देखिए। [21:34] यह सेटिंग हो जाने के बाद इस फाइल को सेव [21:36] करके आप क्लोज कर देंगे। [21:39] इसके बाद सबसे पहले मैं आपको काम दिखाता [21:41] हूं। यहां पर हम सबसे पहले एक डाटाबेस [21:43] क्रिएट करने वाले हैं। तो यहां पर मैं [21:44] जाता हूं डाटाबेस फोल्डर में माइग्रेशन [21:47] फोल्डर के अंदर और यहां पर तीन माइग्रेशन [21:49] की फाइल्स ऑलरेडी पड़ी हुई हैं। इसमें से [21:51] ये जॉब्स वाली जो फाइल है इसको मैं यहां [21:53] से रिमूव कर देता हूं। [21:58] यह हमारा यूज़र्स टेबल है। ये आप देख सकते [22:01] हैं। [22:03] अब यहां पर हमारी ये सारी फील्ड्स हैं। [22:05] नेम ईमेल ईमेल वेरीिफाइड पासवर्ड [22:07] रिमेंबर टोकन। इसमें से कुछ फील्ड्स मेरे [22:09] को नहीं चाहिए। मेरे को चाहिए सिर्फ नेम, [22:12] ईमेल, उसका यूनिक फॉर्मेट भी चाहिए। और [22:14] यहां पर जो यह ईमेल वेरीिफाइड है, इसको [22:17] मैं हटा देता हूं। पासवर्ड के बाद मुझे [22:19] टाइम स्टैंप चाहिए। यह रिमेंबर टोकन भी [22:21] मुझे नहीं चाहिए। यह देखिए। तो, यह काम [22:23] हमारा हो चुका है। यह रिसेट टोकन वाला [22:25] फीचर जो है, यह पूरा जो टेबल है, यह मैं [22:28] हटा देता हूं। मेरे को यह क्रिएट नहीं [22:29] करने हैं। सेशंस और पासवर्ड रिसेट टोकन। [22:32] यह देखिए। नीचे से जाके डाउन में भी यहां [22:35] पर जो यह पासवर्ड और रिसेट का मेथड लगा [22:38] हुआ है। ड्रॉप इफ एग्ज़िस्ट। इसको भी मैं [22:40] हटा देता हूं। यह देखिए। तो, यह मेरा पहली [22:43] फाइल बन जाएगी यूजर्स टेबल की। तो, इसको [22:45] मैंने यहां पर सेव कर लिया। इसी के साथ [22:47] मैं एक माइग्रेशन की फाइल और बना लेता [22:49] हूं। जिसका नाम मैं रखने वाला हूं पोस्ट। [22:51] तो, उसके लिए मैं टर्मिनल ओपन करता हूं। [22:54] और यहां पे कमांड लिख लेता हूं पीएp [22:55] आर्टिस मेक माइग्रेशन। [23:02] और टेबल का नाम रहेगा पोस्ट। तो मैं [23:04] लिखूंगा क्रिएट [23:06] पोस्ट टेबल। [23:08] यहां पर मैंने एंटर प्रेस किया और यह [23:11] हमारा माइग्रेशन की फाइल भी बन चुकी है [23:12] पोस्ट से रिलेटेड। तो उसको भी मैं ओपन कर [23:15] लेता हूं। अब यहां पर आकर मैं अपनी कुछ [23:17] फील्ड्स रख लेता हूं जो मुझे अपने डाटाबेस [23:19] में कॉलम्स बनाने हैं। तो एक फील्ड तो है [23:21] यहां पर आईडी। एक मैं यहां पर ले लेता हूं [23:23] टाइटल। तो उसकी डाटा टाइप है स्ट्रिंग। [23:26] ये पोस्ट का टाइटल रहेगा। इसी तरह मैं एक [23:28] डिस्क्रिप्शन ले लूंगा। इमेज और टाइम [23:31] स्टैंप। तो उनके नेम मैं यहां चेंज कर [23:34] लेता हूं। [23:36] डिस्क्रिप्शन में ज्यादा टेक्स्ट आने वाला [23:38] है। तो यहां पर मैं उसकी डाटा टाइप चेंज [23:40] कर देता हूं। टेक्स्ट और इसके बाद मैं [23:42] यहां पर इमेज लेने वाला हूं। तो इमेज की [23:45] डाटा टाइप रहेगी स्ट्रिंग। क्योंकि बस मैं [23:47] उसका यहां पर नेम स्टोर कराने वाला हूं। [23:49] और लास्ट में हमारा रहेगा टाइम स्टैंप। तो [23:52] इसकी जगह मैं नेम हटा देता हूं और यहां पर [23:54] लिख देता हूं। यह देखिए। तो यह काम भी [23:57] हमारा कंप्लीट हो चुका है। यहां पर इस [23:59] फाइल को मैं सेव करता हूं। और इन फाइल को [24:01] मैं सीधा से अभी माइग्रेट नहीं करूंगा। [24:03] इसके लिए सबसे पहले मैं यहां पर क्या करता [24:04] हूं? अपनी कमांड चलाता हूं। जिसकी हेल्प [24:07] से मैं यहां पर सटम पैकेज को इंस्टॉल करने [24:09] वाला हूं। तो उसके लिए मैं यहां पर [24:10] टर्मिनल ओपन कर रहा हूं। और यहां पर जाकर [24:13] एक कमांड लिखता हूं। पीएपी आर्टिसन [24:17] इंस्टॉल कॉलन एपीआई। यह कमांड क्या करेगी? [24:20] यह हमारे लार के जो प्रोजेक्ट है इसके [24:22] अंदर sm पैकेज को इंस्टॉल कर देगी। तो [24:25] यहां पर मैं एंटर प्रेस करता हूं। [24:30] तो देखिए यहां पर हमारा यह पैकेज जो है [24:32] इंस्टॉल हो चुका है। अब यहां पर यह लास्ट [24:34] में एक चीज कह रहा है आपकी डाटाबेस की [24:36] माइग्रेशन जो है वो पेंडिंग है। तो यहीं [24:38] से हम माइग्रेशन कर लेंगे। तो यहां पर मैं [24:40] लिख देता हूं यस। क्योंकि मैंने अपने [24:42] ऑलरेडी टेबल्स क्रिएट कर चुका हूं। जिनको [24:44] मैं इस प्रोजेक्ट में यूज़ करने वाला हूं। [24:45] तो यहां पर मैंने प्रेस किया एंटर। और यह [24:48] देखिए यहां पर हमारे टेबल भी क्रिएट हो [24:50] चुके हैं। एक यूज़र्स का टेबल है, कैशिंग [24:52] का टेबल है, पोस्ट का टेबल है और यह एक [24:54] अलग से भी टेबल बन चुका है। पर्सनल असेस [24:56] टोकन टेबल जिसको बेसिकली हमारा जो सटम का [24:59] पैकेज है वो यूज़ करने वाला है। इसी टेबल [25:01] के अंदर हमारे टोकंस भी सेव होंगे। तो अब [25:03] मैं आपको दिखाता हूं कि इस पैकेज ने हमारे [25:05] सिस्टम में क्या-क्या इंस्टॉल किया है। [25:07] सबसे पहले मैं आपको दिखाता हूं यहां पर जो [25:09] हमारा राउट्स फोल्डर है यहां पर एक फाइल आ [25:11] चुकी है जिसका नाम है एपीआई पीएp। यह फाइल [25:13] पहले से नहीं होती है। जैसे ही मैंने [25:15] कमांड चलाई है अपनी इंस्टॉल एपीआई की तभी [25:17] यह फाइल आई है। इसी के अंदर हम अपने एपीआई [25:20] से रिलेटेड सारे राउट्स बनाने वाले हैं। [25:22] और इसी के साथ यहां पर जो हमारा कॉन्फ़िग [25:23] फोल्डर होता है उसके अंदर भी एक फाइल आ [25:26] चुकी है जिसका नाम है यहां पे smp php जो [25:29] भी हमारे sm इंस्टॉल हुआ उसकी यहां पर [25:31] सारी सेटिंग्स हैं। इनको आप जाके चेंज भी [25:33] कर सकते हैं। यह देखिए यहां पर ये कुछ [25:36] सेटिंग्स हैं। आप इनके बारे में पढ़ सकते [25:38] हैं कि ये नीचे क्या चीज है। यह देखिए [25:41] यहां पर आ रहा है एक्सपायरेशन। बाय [25:43] डिफॉल्ट इसकी वैल्यू होती है नल। जिसका [25:45] मतलब है कि हमारा जो भी टोकन क्रिएट होगा [25:48] वह हमेशा क्रिएटेड ही रहेगा। अपने आप से [25:50] एक्सपायर नहीं होगा। अगर आप यहां पर कोई [25:53] टाइम सेट कर देते हैं या दिन बता देते हैं [25:56] या यहां पर कोई सर्कल डिफाइन कर देते हैं [25:58] कि 24 घंटे बाद तो उसी टाइम पे यहां पर [26:01] हमारा जो टोकन क्रिएट होगा एपीआई की हेल्प [26:04] से वह अपने आप से डिलीट हो जाएगा। [26:06] यहां पर कुछ और भी फीचर्स हैं। यहां पर आप [26:08] सब देख सकते हैं। इस फाइल को मैं क्लोज कर [26:10] देता हूं क्योंकि अभी हम इसका यूज नहीं कर [26:12] रहे हैं। अब मैंने आपको बताया था कि सबसे [26:14] पहला हमारा स्टेप होता है कि हम sm पैकेज [26:17] को इंस्टॉल करते हैं। उसके बाद जो हमारा [26:19] काम है वो है कि हम सबसे पहले अपनी यूजर [26:22] पीएp फाइल ओपन करेंगे जो हमने मॉडल्स [26:23] फोल्डर के अंदर बनाई हुई है। यह फाइल पहले [26:26] से ही होती है। हम खुद नहीं बनाते हैं। तो [26:28] हम इसी को यूज़ करने वाले हैं। यहां पर [26:30] सबसे पहले आके हमें क्या करना है? हमें [26:32] यहां पर sm का एक मेथड यूज़ करना है। हैज़ [26:34] एपीआई टोकंस। तो उसको मैं यूज़ के अंदर ही [26:36] यहां पर लिखूंगा। तो यहीं पर मैं लिख लेता [26:38] हूं कॉमा#श [26:40] एपीआई टोकंस। यह देखिए जैसे ही मैं इस [26:43] लिंक पर क्लिक करूंगा तभी हमारी ऊपर फाइल [26:46] भी इंक्लूड हो जाएगी। अगर आपके केस में [26:48] नहीं हो रही है तो आप इसे मैनुअली भी लिख [26:50] सकते हैं। उसके बाद आप यूज़ में जाकर हैज़ [26:52] एपीआई टोकन लिखेंगे। यह काम आपने सबसे [26:55] पहले कर लेना है। यहां पर कुछ और भी [26:57] फील्ड्स हैं। अगर आप चेंज करना चाहते हैं [26:58] वह कर सकते हैं। जैसे यह देखिए [27:02] जैसे हमने ये वाली फील्ड हटा दी है। तो [27:04] इसको मैं यहां से रिमूव कर देता हूं। और [27:06] जो भी हमारा पासवर्ड सेव होगा वो हैश [27:09] फॉर्मेट में होगा। तो इस फील्ड को आप लगे [27:11] रहने देना। यह कास्ट वेरिएबल है जिसका [27:13] यूज़ होता है कि हम यहीं पर पहले ही बता [27:15] देते हैं कि हमारी डाटाबेस में जो फील्ड [27:17] है उसके अंदर किस फॉर्मेट में डाटा सेव [27:19] होने वाला है। ये हम पिछली वीडियो में देख [27:21] चुके हैं ऑलरेडी। तो यहां पर सबसे पहले [27:24] हमारा काम था हमने इस#श एपीआई टोकन को यूज [27:27] करना है क्योंकि यही फाइल हमारे एपीआई के [27:29] अंदर टोकन को क्रिएट करने में हेल्प करने [27:31] वाली है। तो इस फाइल का काम इतना ही है। [27:33] इस फाइल को सेव करके मैं क्लोज कर देता [27:34] हूं। [27:37] अब जैसे हमारी ये यूजर की फाइल बन चुकी [27:39] है। अब मैं इसकी कंट्रोलर फाइल भी बना [27:41] लेता हूं। जिसके अंदर मैं यूजर का लॉग इन [27:43] रजिस्ट्रेशन और लॉग आउट करने वाला हूं। तो [27:45] उसके लिए मैं अपनी टर्मिनल को ओपन कर लेता [27:48] हूं। इसको क्लियर करता हूं। और यहां पर [27:50] कमांड लिखता हूं पीएp आर्टिसन मेक [27:52] कंट्रोलर [27:59] और कंट्रोलर जो है मैं यहां पर जहां हमारे [28:01] कंट्रोलर्स बनते हैं एचटीटीपी फोल्डर के [28:03] अंदर ये देखिए यहां पर यह एपीआई का [28:06] कंट्रोलर बना रहा हूं। तो इसके लिए मैं [28:07] फोल्डर ही अलग बना देता हूं। तो इसका नाम [28:09] मैं रखने वाला हूं एपीआई। एपीआई के अंदर [28:12] यह मैं कंट्रोलर बना रहा हूं। जिसकी फाइल [28:13] का नाम होगा आउट कंट्रोलर। [28:16] आप फाइल का नाम कुछ भी रख सकते हैं। तो यह [28:19] फाइल हमारी बन चुकी है। अब इसके बाद जो [28:21] हमारा दूसरा टेबल है पोस्ट उससे रिलेटेड [28:23] भी यहां पर मॉडल की फाइल और कंट्रोलर की [28:25] फाइल बना लेता हूं। [28:31] ये मैंने मॉडल की फाइल बना ली। इसके बाद [28:33] मैं इसकी कंट्रोलर फाइल भी बना लेता हूं। [28:39] यह भी मैं एपीआई फोल्डर के अंदर ही बना [28:41] रहा हूं। पोस्ट कंट्रोलर [28:45] और यहां पर यह मैं रिसोर्स कंट्रोलर बनाने [28:47] वाला हूं क्योंकि इसके अंदर हम बहुत सारे [28:48] काम करने वाले हैं। तो देखिए जब आप एपीआई [28:50] के अंदर रिसोर्स कंट्रोलर बनाते हैं तो [28:52] वहां पर हमें रिसोर्स लिखने की जरूरत नहीं [28:54] होती। जहां पर हम फ्लैग पास करते हैं हफन [28:56] हफन रिसोर्स या नॉर्मल आर भी लिख सकते [28:59] हैं। उसकी जगह पर मैं यहां पे लिखूंगा [29:00] एपीआई। इसका मतलब है यह एपीआई रिसोर्स [29:03] कंट्रोलर बनने वाला है। तो यहां पर मैं [29:05] एंटर प्रेस कर देता हूं। यह देखिए देखिए [29:08] जो यह फाइल है एपीआई पोस्ट कंट्रोलर यह [29:11] नॉर्मल रिसोर्स कंट्रोलर की तरह दिखती है। [29:13] इसमें कुछ भी चेंज नहीं होता है। बस हम [29:15] यहां पर स्टार्टिंग में बता देते हैं कि [29:16] यह एपीआई रिसोर्स कंट्रोलर है। तो इसके [29:18] लिए राउट भी अलग तरीके से बनता है। मैं [29:20] अभी आपको चेक कराऊंगा। अब यहां पर मैं [29:21] अपने सर्वर को भी ऑन कर देता हूं। [29:25] तो मैंने यहां पर कमांड लिख दी पीएp [29:27] आर्टिस। [29:28] यह देखिए। अब जो हमारी पोस्ट की यहां पर [29:31] मॉडल फाइल क्रिएट हुई है। यहां पर मैं [29:33] पहले से ही फील्ड को जो इसके अंदर मैंने [29:36] फील्ड्स ली है टाइटल और डिस्क्रिप्शन उसको [29:38] यहां पर पहले से ही बता देता हूं कि वो [29:40] गार्डेड नहीं है। तो उसके लिए मैं यहां पर [29:42] लिखूंगा प्रोटेक्टेड। यहां पर मैं वेरिएबल [29:45] यूज़ कर रहा हूं फी लेबल। [29:47] आप यहां पर दूसरा वेरिएबल भी यूज़ कर सकते [29:49] हैं गार्डेड नाम से। फी लेबल के अंदर जस्ट [29:51] जाके आपको बताना होता है कि किस-किस [29:53] फील्ड्स की वैल्यू यूजर खुद से डाल सकता [29:55] है और अपडेट कर सकता है। तो इसके अंदर मैं [29:57] एरे ले लेता हूं। और पहली फील्ड है हमारी [29:59] टाइटल और इसी के साथ दूसरी फील्ड है [30:02] डिस्क्रिप्शन। [30:04] यह देखिए। तो यह काम भी हमारा कंप्लीट हो [30:07] चुका है। इस फाइल को मैं सेव कर लेता हूं। [30:09] यहां पर आपको कोई हैश टोकन नाम की फील्ड [30:10] को इंक्लूड नहीं करना। जैसे हमने यूजर [30:12] वाली मॉडल फाइल के अंदर किया था। तो इस [30:14] फाइल को मैं क्लोज़ करता हूं। अब इसके बाद [30:16] सबसे पहले हम काम शुरू करते हैं अपने [30:17] रजिस्ट्रेशन से, लॉग इन से और लॉगउ से। तो [30:20] उसके लिए मैं अपने ऐप फोल्डर के अंदर [30:22] जाऊंगा एपीआई फोल्डर के अंदर। और यहां पर [30:24] हमारे पास एक फाइल आ चुकी है जिसका नाम है [30:26] आउट कंट्रोलर। इसी के अंदर मैं अपने तीन [30:28] मेथड्स बनाने वाला हूं। तो सबसे पहला जो [30:31] मेथड है उसका नाम रहेगा साइन अप [30:35] और इसके अंदर मैं फॉर्म की रिक्वेस्ट [30:37] डालने वाला हूं। [30:40] यह देखिए बिल्कुल इसी को कॉपी करके मैं [30:42] अपना लॉग इन और लॉगउ भी बना लेता हूं। [30:48] यह देखिए ये तीनों मेथड्स बन चुके हैं। अब [30:50] इनके अंदर आकर मुझे कोड करना है। सबसे [30:52] पहले मैं यूजर से रजिस्ट्रेशन करवाना [30:54] चाहता हूं। तो उसके लिए मैंने फील्ड्स [30:56] अपने डाटाबेस में ऑलरेडी क्रिएट करके रखी [30:58] हैं। तो यहां पर अब मैं क्या करने वाला [31:00] हूं? यहां पर सबसे पहले मैं एक वैलिडेट [31:02] करूंगा अपनी फील्ड्स को। जो भी यूजर यहां [31:03] पर फॉर्म के अंदर सेट करेगा उसको मुझे [31:05] वैलिडेट करना है। तो वैलिडेट करने के लिए [31:08] सबसे पहले हम जैसे पिछली वीडियोस में यूज़ [31:10] करते आए हैं वैलिडेट मेथड। उसको यूज़ नहीं [31:12] कर रहे हैं। वो मेथड बेसिकली क्या करता [31:14] है? अपने आप से ही वैलिडेट कर देता है। हम [31:16] यहां पर एक दूसरा मेथड यूज़ करने वाले हैं [31:18] जिसका नाम होता है वैलिडेटर। यह मेथड [31:20] हमारे को कुछ एक्स्ट्रा फंक्शनैलिटीज भी [31:22] देता है जो हम आगे देखने वाले हैं। तो [31:23] सबसे पहले मैं वैलिडेट कर लेता हूं। [31:29] यह देखिए जैसे ही मैंने यहां पर लिखा [31:31] वैलिडेटर। यहां पर हमारे को इस क्लास को [31:34] इंक्लूड करना है जो है इस फोल्डर में [31:35] एलुमिनेट स्पोर्ट फैसेट्स। मैंने इस पे [31:37] क्लिक किया। यह देखिए क्लास ऊपर इंक्लूड [31:39] हो चुकी है। अगर आपके केस में नहीं हो रही [31:41] है तो आप इसे मैनुअली भी लिख सकते हैं। [31:43] इसके बाद यहां पर मैं लिखूंगा मेक। देखिए [31:47] जो इसके अंदर मेक मेथड होता है इसका यूज़ [31:48] हम तब करते हैं जब हमें फील्ड्स को जो [31:50] हमारी फॉर्म्स की फील्ड हैं जो हमारे को [31:52] रिक्वेस्ट से मिलेंगी उसको वैलिडेट करना [31:54] हो। तो इसके अंदर बेसिकली दो पैरामीटर्स [31:56] आते हैं। सबसे पहले हम इसमें फॉर्म का [31:58] सारा डाटा डालते हैं और उसके सेकंड [32:00] पैरामीटर में हम जो भी फील्ड्स हैं उसमें [32:02] जो से भी हमारे को वैलिडेशन के पैरामीटर [32:04] पास करने हैं वो करते हैं। तो देखिए मैं [32:06] यहां पर एंटर लगाता हूं और सबसे पहले यहां [32:08] पर अपनी फॉर्म की सारी फील्ड डाल देता [32:10] हूं। तो जो भी हमारे को रिक्वेस्ट से मिला [32:12] है मैंने उसको लगा दिया ऑल। इसका मतलब [32:14] फॉर्म की सारी फील्ड्स आ चुकी हैं। अब [32:16] सेकंड पैरामीटर में हमें सारे रूल्स ही [32:18] डिफाइन करने हैं वैलिडेशन के। जैसे हम [32:20] नॉर्मल वैलिडेट मेथड के अंदर करते हैं। [32:25] यह देखिए यहां पर मैंने क्या किया? मैंने [32:28] यहां पर सारी फील्ड्स ले ली है। नेम, ईमेल [32:29] और पासवर्ड और सब में डाल दिया [32:30] रिक्वायर्ड। सारी फील्ड्स को डालना जरूरी [32:32] है। जब भी फॉर्म रजिस्टर कर रहा होगा [32:34] यूजर। उसके अलावा मैंने यहां पे क्या किया [32:36] है? यहां पर जो हमारा ईमेल वाला फॉर्मेट [32:38] है उसमें पास कर दिए ईमेल। मतलब कि वो [32:40] प्रॉपर ईमेल होनी चाहिए। और यहां पे पास [32:42] किया यूनिक। यूनिक के अंदर हम बेसिकली दो [32:44] पैरामीटर्स देते हैं। मतलब कि वैल्यूज़। [32:46] पहला होता है हमारे टेबल का नाम। तो हमारे [32:48] टेबल का नाम है यूज़र्स। उसके अंदर जो [32:49] फील्ड है उसका नाम है ईमेल। तो जो भी यूजर [32:52] ईमेल डालेगा तो यह मेथड क्या करेगा? [32:54] बेसिकली यह चेक करेगा कि पहले किसी यूजर [32:56] ने वो ईमेल तो नहीं डाली हुई। अगर डाली [32:58] हुई है तो यह एक एरर मैसेज दे देता है। और [33:00] अगर वो फील्ड नहीं डाल रखी तो हमारा पेज [33:02] वैलिडेट हो जाएगा। अब इसके बाद हम आगे का [33:05] कोड करते हैं। [33:07] अब देखिए सबसे पहले हमारे को यहां पे क्या [33:09] करना है? जब हम एपीआई के अंदर काम करते [33:11] हैं, मतलब कि यहां पर हम एक एपीआई बना रहे [33:13] हैं। यह एपीआई से फॉर्म का हम रजिस्ट्रेशन [33:15] करवाएंगे। तो अगर यह यहां पर एरर आ जाता [33:17] है वैलिडेशन में तो उसका रिस्पांस भी [33:19] हमारे को यहां पर एज अ JSON फॉर्मेट में [33:21] सेंड करना है। तो वो हम कैसे करेंगे? तो [33:24] यहां पर मैं चेक करूंगा कि जो हमारा यह [33:26] वेरिएबल है, इसके अंदर कहीं एरर तो नहीं [33:29] आई है। तो देखिए, जैसे मैंने यहां पर [33:32] वैलिडेटर मेथड यूज़ किया था। उसका बेसिकली [33:35] यूज़ अब होगा। इसके अंदर कुछ इनबिल्ट मेथड [33:37] आते हैं जैसे फेल, सक्सेस वगैरह। तो, यहां [33:40] पर हम चेक करें क्या इसकी वैल्यू फेल तो [33:43] नहीं हुई है? तो इसका मेथड है फेल्स। अगर [33:46] यह फेल हो गई है, तब यह इस इफ स्टेटमेंट [33:48] के अंदर आ जाएगा और यहां पर आकर हम एक [33:51] रिस्पांस सेंड करेंगे। [33:56] यह देखिए, यह जो रिस्पांस मैं सेंड कर रहा [33:58] हूं, इसको मैं जेसन फॉर्मेट में करूंगा। [34:00] तो, सबसे पहले पैरामीटर में यहां पर मैं [34:02] जो भी वैल्यू सेंड करना चाहता हूं, उसको [34:04] एरे की फॉर्म में लूंगा। और इसके बाद मैं [34:06] यहां पर एक रिस्पांस कोड भी भेजूंगा। तो [34:09] देखिए जैसे यहां पर यूजर ऑथेंटिकेट नहीं [34:11] हो पाया तो उसका यहां पर कोड होता है 401 [34:14] जैसा कि मैंने अभी आपको स्लाइड्स में भी [34:15] दिखाया था। तो मैं इस एरे के अंदर आकर [34:18] अपनी मल्टीपल कीज़ ले लेता हूं जो मैं यूजर [34:20] को एज ए रिस्पांस सेंड करना चाहता हूं। तो [34:22] सबसे पहले मैं उसको एक स्टेटस भेजूंगा। [34:26] जिसका वैल्यू होगी फॉल्स। फिर मैं यहां पर [34:29] उसको एक मैसेज भी भेजना चाहता हूं। [34:32] मैंने यहां पर लिख दिया वैलिडेशन एरर। [34:34] इसके बाद जो हमारे को लाराव यहां पर एरर [34:37] के एग्जैक्ट एरर कोड देता है, उसको भी मैं [34:39] यूजर को सेंड करना चाहता हूं। उसके लिए [34:41] मैं यहां पर एक अलग से एक की ले लेता हूं [34:43] एर्स करके। [34:47] और जो भी हमारे पास एरर्स आए हैं इसमें [34:50] उसको मैं यूजर को सेंड करूंगा। और कितने [34:52] एरर्स? सारे एरर्स। तो उसके लिए मैं यहां [34:54] लिख देता हूं ऑल। ये देखिए। देखिए जितनी [34:58] भी मैंने यहां पर कीज़ लिए हैं, ये लेना [34:59] जरूरी नहीं है। मगर मैं यूजर को एक प्रॉपर [35:01] मैसेज सेंड करना चाहता हूं। तो उसके लिए [35:03] मैंने स्टेटस दिए यहां पर फॉल्स जिसको यूज़ [35:05] करके वह यूजर आगे कोड में अपना कोई भी कोड [35:07] करना चाहता है या कंडीशन चेक करना चाहता [35:09] है वह कर सकता है। इसके साथ मैंने एक [35:10] मैसेज भेजा है। यह मैसेज भी भेजना जरूरी [35:12] नहीं है। अगर आप भेज देंगे तो उसको [35:14] एग्जैक्ट एरर पता लग जाएगा। और जो लारावल [35:17] एग्जैक्ट एरर बताएगा वो हमने यहां से सेंड [35:19] कर दिए और साथ में इसका एक एरर कोड भी [35:21] भेजा है। और अगर वह यूजर जो है ऑथेंटिकेशन [35:24] पास कर देता है। इस फेल में आता ही नहीं [35:25] है। तो हम यहां पर उसका सारा डाटा यूज़र्स [35:30] टेबल के अंदर सेव कर देंगे। तो उसके लिए [35:31] मैं यहां पर अपना एलुकेंट का ही मेथड यूज [35:33] करने वाला हूं। [35:38] यह देखिए यहां पर मैंने अपनी सारी फील्ड्स [35:41] ले ली है। नेम, ईमेल और पासवर्ड और जो भी [35:43] फॉर्म से डाटा आया वो मैंने इसमें सेव करा [35:45] दिया। यहां पे एक एरर आ रहा है कि यूजर [35:47] मॉडल फाइल के अंदर। ये इंक्लूड नहीं किया [35:49] मैंने। मैं राइट क्लिक करता हूं और यहां [35:50] पर इंपोर्ट क्लास कर लेता हूं। ऊपर दिखा [35:53] रहा है आपको। यहां पर मैं ऐप मॉडल यूजर [35:55] फाइल को इंक्लूड कर रहा हूं। यह देखिए। यह [35:57] ऊपर इंक्लूड हो गई है। अगर आपके केस में [36:00] नहीं हो रही है तो आप इसे मैनुअली भी लिख [36:01] सकते हैं। [36:03] अब इसके बाद जैसे ही यह डाटा क्रिएट हो [36:05] जाएगा तो मुझे यूजर को एज ए रिस्पांस [36:07] बताना भी है कि आपका डाटा सक्सेसफुली [36:10] डाटाबेस में क्रिएट हो चुका है। तो उसके [36:11] लिए भी यहां पर मैं एक jसन फॉर्मेट ही [36:13] सेंड करने वाला हूं। तो मैं ऊपर वाला ही [36:15] कोड कॉपी कर लेता हूं। यह रिस्पांस वाला [36:18] जो रिटर्न आपने किया था इसको यहां से [36:19] रिटर्न कर दूंगा। अब यहां पर मुझे स्टेटस [36:22] में वैल्यू चेंज कर देनी है। ट्रू और [36:25] मैसेज चेंज कर देना है। [36:30] और यहां पर कोई एरर नहीं आएगा। तो यहां पर [36:34] मैं एक की ले रहा हूं यूजर जिससे मैं यूजर [36:36] का सारा डाटा सेंड कर दूंगा यूजर को जो हम [36:39] आगे यूज़ कर सकते हैं अपने पेजेस में। और [36:41] यहां पे जो रिस्पांस कोड रहेगा वो है 200। [36:44] जिसका मतलब जो यूजर ने रिक्वेस्ट करी थी [36:46] डाटा को सेव करने के लिए वो सक्सेसफुली [36:48] पूरी हो चुकी है। 200 का मतलब है ओके। तो [36:50] यह देखिए यह हमारा कोड हुआ है। सबसे पहले [36:52] हमने क्या किया? सबसे पहले हमने यहां पर [36:54] वैलिडेट किया अपने डाटा को जो भी यूजर ने [36:56] फॉर्म से सेट किया होगा और इसके लिए मैंने [36:58] अलग से एक मेथड यूज़ किया है वैलिडेटर [37:00] जिसके अंदर मेथड होता है मेक। यह हमने [37:02] पिछली वीडियोस में यूज़ नहीं किया था। यह [37:04] बेसिकली मेथड हमारे को एक स्पेशल [37:06] फंक्शनैलिटी देता है चेक करने के लिए जो [37:08] हमने आगे चेक की फेल्स या सक्सेस ऐसी [37:10] कंडीशंस भी हम इस पे चेक कर सकते हैं। [37:12] इसके अंदर हमने सबसे पहले वैलिडेट किया [37:14] है। अगर यह वैलिडेशन फेल हो जाती है तब भी [37:17] हमने रिस्पांस सेंड किया है JSN फॉर्मेट [37:19] में क्योंकि यह एपीआई का कोड है और इसके [37:22] बाद अगर यूजर का डाटा क्रिएट हो जाता है [37:23] डाटाबेस में तब भी हमने यहां पर एज़ ए [37:26] रिस्पांस JSN का डाटा यूजर को सेंड किया [37:28] है। अब इसके बाद हम फटाफट यहां पर लॉग इन [37:30] और लॉगउ का कोड भी कर लेते हैं। तो उसके [37:32] लिए सबसे पहले मेरे को क्या करना है? जब [37:34] यूजर यहां पर लॉग इन के लिए रिक्वेस्ट के [37:36] लिए एंटर करेगा तो यहां पर हमारे पास [37:38] फॉर्म का डाटा आएगा यूजरनेम और उसका [37:40] पासवर्ड उसको हमें वैलिडेट करना है। तो [37:42] मैं ऊपर वाला ही कोड चेक कर लेता हूं। यह [37:44] देखिए यहां पर मैं इसी कोड को कॉपी कर रहा [37:46] हूं। [37:49] अब इसके बाद देखिए हम सारे डाटा को यहां [37:51] पे चेक कर रहे हैं। तो हमारे पास यहां पे [37:53] दो चीजें आएंगी ईमेल और उसका पासवर्ड। और [37:55] यहां पर मुझे बस ईमेल चेक करवानी है। यह [37:58] देखिए। [38:00] अब अगर यह ऑथेंटिकेशन फेल हो जाती है मतलब [38:02] कि उसका यूजरनेम और पासवर्ड मैच नहीं करता [38:04] तब हम उसे एक एरर का मैसेज सेंड करेंगे। [38:07] तो मैसेज मैं ऊपर से ही कॉपी कर लेता हूं। [38:09] जैसे हमने यहां पे किया था। [38:15] यहां पर मैं लिख देता हूं ऑथेंटिकेशन फेल। [38:20] आप यहां पे कोई और मैसेज भी सेट कर सकते [38:22] हैं। या यूजरनेम और पासवर्ड मैच नहीं हुए [38:24] हैं उसको दिखाने के लिए। और लास्ट में जो [38:26] भी लारावल हमारे को एरर दे रहा है वह [38:28] हमारे को यहां से एज ए सेंड कर देने हैं [38:30] एरर्स नाम की की के अंदर और यहां पर हम [38:32] कोड भी चेंज कर सकते हैं। आपकी मर्जी है। [38:34] मैं अभी के लिए यहां पर कर देता हूं 404। [38:36] आप इसे 401 भी सेट कर सकते हैं। इसके बाद [38:38] हमारा मेन काम आता है। अगर यह वैलिडेशन [38:42] चेक हो चुकी है। उसका यूजरनेम और पासवर्ड [38:44] यूजरनेम ठीक से डाला है। उसके बाद हम यहां [38:46] पे क्या करेंगे? यहां पर हम इसे डाटाबेस [38:49] में जाके चेक करेंगे। तो उसके लिए मैं [38:50] ऑथेंटिकेशन मेथड का यूज़ करने वाला हूं। [38:52] अटेमप्ट मेथड का। तो मैं यहां पर आउट मेथड [38:56] यूज कर रहा हूं। तो देखिए ऊपर क्लास भी [38:57] इंक्लूड हो गई होगी। यह देखिए अगर आपके [39:01] केस में नहीं हो रही है तो आप इसे मैनुअली [39:03] भी लिख सकते हैं। अब इसका मैं एक इनबिल्ट [39:05] मेथड यूज़ करूंगा जिसका नाम होता है [39:06] अटेम्प्ट जो ये चेक करता है कि हमारा [39:09] यूजरनेम और पासवर्ड मैच हो रहा है कि नहीं [39:10] डाटाबेस में। तो हमारी बेसिकली दो फील्ड्स [39:13] हैं ईमेल और पासवर्ड। तो मुझे उसे एरे की [39:15] फॉर्मेट में यहां पर सेंड करना है। [39:19] यह देखिए। यहां पर मैंने चेक कर लिया अपनी [39:22] ईमेल को और पासवर्ड को। यहां पर मैंने [39:23] फॉर्म की फील्ड को यहां पे सेट किया है। [39:26] अब अगर ये अटेम्प्ट पास हो जाता है तब [39:28] मुझे यहां पे क्या करना है? यहां पर मैं [39:30] एक एल्स पार्ट भी बना लेता हूं। अगर [39:32] यूजरनेम और पासवर्ड फेल हो जाता है तब [39:34] यहां पे क्या करना है? तो सबसे पहले मैं [39:35] यहां पर क्या करता हूं? यहां पर यूजर को [39:37] एज अ रिस्पांस मुझे सक्सेस का एक रिस्पांस [39:39] सेंड करना है। तो उसके लिए मैं ऊपर से ही [39:41] कॉपी कर लेता हूं। जैसे मैंने यहां पर [39:43] बनाया था सक्सेस के लिए। यह देखिए। [39:48] यहां पर मैं लिख देता हूं यूजर लॉक्ड इन [39:50] सक्सेसफुली। [39:52] अब जब यह मैं मैसेज सेंड कर रहा हूं तो [39:55] यहीं पर मैं अपना टोकन जनरेट करूंगा जो [39:57] सटम का मेन पार्ट है। तो यहां पर मैं की [40:00] ले लेता हूं टोकन। आप नेम कुछ भी रख सकते [40:03] हैं। मैं टोकन नहीं रख रहा हूं। अब सबसे [40:05] पहले जो यूजर ने यहां पर लॉगिन किया है [40:07] उसकी मेरे को यहां पर उसका डाटा चाहिए। तो [40:09] उसके लिए मैं यहां पर क्या करता हूं? एक [40:12] यूजर करके एक वेरिएबल बना रहा हूं। आउट [40:14] यूजर ले लेता हूं बेसिकली। [40:18] यह देखिए जो भी यूजर लॉग इन हो जाएगा मैं [40:22] इसको बेसिकली इफ कंडीशन के अंदर डालता हूं [40:24] क्योंकि लॉग इन पहले मैं यहां पर चेक [40:25] करूंगा। यह देखिए। तो उसकी सारी [40:28] इंफॉर्मेशन यूजर नाम के हमारे पास मेथड के [40:30] अंदर इस वेरिएबल के अंदर पास हो जाएगी। अब [40:32] इसी वेरिएबल का मैं यूज़ यहां पे कर लेता [40:34] हूं। [40:36] अब यहां पर मेरे को टोकन क्रिएट करना है। [40:38] तो उसके लिए सटम का एक मेथड आता है क्रिएट [40:40] टोकन। तो मैं इसी यूजर के लिए टोकन क्रिएट [40:43] कर रहा हूं। [40:45] यह देखिए। क्रिएट टोकन करने के बाद यहां [40:47] पर आपको एक की का नाम लेना है। आप नेम कुछ [40:50] भी रख सकते हैं। मैं इसको समझने के लिए [40:52] यहां पर लिख देता हूं एपीआई टोकन। [40:55] आप यहां पे जो भी नाम रखना चाहते हैं वो [40:57] रख सकते हैं। देखिए यहां पर एक रेड कलर का [40:59] एरर मैसेज यहां पे आपको दिखा रहा है। यह [41:01] एरर शो होता रहेगा। यह बेसिकली कोई एरर [41:03] नहीं है। इसको यह फाइल मिल नहीं रही है। [41:05] तभी यह एरर शो कर रहा है। मगर यह कोई एरर [41:07] नहीं है। इसके बाद यह टोकन जो आप सेव [41:10] करवाने वाले हो डाटाबेस में इसको किस [41:12] फॉर्मेट में कराना है? तो उस फॉर्मेट को [41:14] बेसिकली मैं यहां पर प्लेन टेक्स्ट में [41:15] यहां पर सेव करवाने वाला हूं। [41:19] यह देखिए। तो यहां पर सबसे पहले मैंने [41:21] यूजर उठाया कि किस यूजर का मेरे को टोकन [41:23] क्रिएट करना है। यहां पर मैंने टोकन [41:25] क्रिएट किया है। उसकी की का नाम यह रख [41:26] दिया और यहां पर एक टोकन क्रिएट होगा [41:28] रैंडम्स नंबर का जो इस की के अंदर आके सेव [41:31] हो जाएगा डाटाबेस के अंदर। तो यहां पर मैं [41:34] आता हूं। अब मेरे को यहां पे यह बताना है [41:36] कि जो टोकन है उसकी टाइप क्या है? और स [41:38] में मैंने आपको बताया था जो टाइप होती है [41:40] वह होती है बी एरर। [41:42] यह देखिए। तो, जब यूजर लॉग इन होगा और [41:45] उसका सक्सेसफुली अटेम्प्ट क्लियर हो जाता [41:47] है, तब यहां पर हम यह रिस्पांस यूजर को [41:50] सेंड करेंगे। यह टोकन बाद में यूजर जो है [41:52] अपने कंप्यूटर में कहीं पर भी सेव कर सकता [41:54] है। कुकीज़ की हेल्प से, सेशन की हेल्प से [41:56] या फिर लोकल स्टोरेज की हेल्प से। यह हम [41:58] नेक्स्ट वीडियो में करना सीखेंगे। और यहां [42:00] पर हम एल्स पार्ट के अंदर आते हैं। अगर यह [42:02] ऑथेंटिकेशन फेल हो जाती है, तब हमें यहां [42:04] पे क्या करना है? तो मैं ऊपर से फेल वाला [42:07] ही यह कोड कॉपी कर लेता हूं। रिस्पांस कोड [42:11] और इसको एल्स पार्ट में डाल देता हूं। यह [42:13] देखिए। अब यहां पर स्टेटस आ जाएगा फेल। [42:16] यहां पर मैसेज आ जाएगा। ईमेल एंड पासवर्ड [42:18] नॉट मैच्ड। या कुछ और मैसेज दिखाना चाहते [42:21] हैं वो भी दिखा सकते हैं। और यह एरर की अब [42:24] कोई जरूरत नहीं है। क्योंकि यहां पर लाराव [42:26] का कोई एरर नहीं आने वाला। यह डाटाबेस में [42:28] मैच नहीं हुआ है। हमारे को खुद को ही [42:30] मैसेज दिखाना है। और यहां पर मैं लिख देता [42:32] हूं जैसे 401 [42:34] तो यह मेरा लॉगिन से रिलेटेड सारा काम हो [42:37] चुका है। सबसे पहले मैंने इसको वैलिडेट [42:38] किया है। अगर यह वैलिडेशन फेल हो जाती है [42:40] तब मैं एक रिस्पांस सेंड करूंगा फेलियर का [42:42] और अगर यह ऑथेंटिकेशन में चेक करके पास हो [42:45] जाता है तब मैं एक रिस्पांस सेंड करूंगा [42:47] जिसके अंदर मैं टोकन भी जनरेट कर रहा हूं। [42:49] यह डाटाबेस में भी क्रिएट हो जाएगा और [42:51] यूजर को सेंड भी हो जाएगा जेसन फॉर्मेट के [42:54] अंदर। और इसके बाद अगर यह फेल हो जाती है [42:56] ऑथेंटिकेशन तो यहां पर यह एरर का मैसेज भी [42:59] यूजर को शो हो जाएगा। यह भी jसन फॉर्मेट [43:01] में होगा क्योंकि हम सारा एपीएस बना रहे [43:03] हैं। तो एपीएस में जो भी डाटा यूजर को [43:05] रिटर्न करते हैं वो नॉर्मल फॉर्मेट नहीं [43:08] होता है। या तो वो jसन होता है XML या फिर [43:11] ग्राफकल। अब लास्ट में हमारा काम रह गया [43:13] लॉगउ का। तो उसका कोड भी मैं कर लेता हूं। [43:16] मैंने लिया यूजर और जो भी हमारा [43:18] रिक्वेस्टेड यूजर है [43:22] इस यूजर का मुझे टोकन को डिलीट करना है। [43:25] तो मैं लिखूंगा यूजर टोकन। तो इस यूजर के [43:29] जितने भी टोकंस होंगे उन सबको मैं रिमूव [43:30] कर रहा हूं। [43:32] यह देखिए यह डाटाबेस में से जाकर ये इस [43:35] यूजर के जिसने लॉगिन किया हुआ है उसके [43:37] सारे टोकन को रिमूव कर देगा। और लास्ट में [43:40] यहां पर यह एज ए रिस्पांस एक सक्सेस का [43:42] मैसेज भी सेंड करेगा। तो मैं इसी कोड को [43:45] कॉपी कर लेता हूं [43:48] और यहां पर जो यह टोकन बनाए थे इनको मैं [43:50] यहां से हटा देता हूं। इसकी कोई जरूरत [43:52] नहीं है यहां पर और यहां लिख देता हूं यू [43:55] लॉक्ड आउट सक्सेसफुली। [43:59] यह देखिए आप अपना कोई भी मैसेज सेट कर [44:01] सकते हो यहां पर और साथ में अगर मुझे यूजर [44:03] की कोई इनेशन वगैरह सेंड करनी है वो भी [44:05] मैं सेंड कर सकता हूं। तो मैं एक यूजर नाम [44:07] की की ले लेता हूं। [44:09] और जो भी मेरे पास यूजर की इंफॉर्मेशन है [44:11] जो मुझे यहां से मिली है वह मैं यूजर को [44:13] लास्ट में यहां से सेट कर सकता हूं। यह [44:15] जरूरी नहीं है इसको सेंड करना। आप इसे हटा [44:17] भी सकते हैं। तो यह हमारी एपीआई पूरी इस [44:19] आउट कंट्रोलर की बन चुकी है जिसके अंदर [44:21] मैंने लॉग इन, लॉगउ और रजिस्ट्रेशन तीनों [44:24] की एपीआई क्रिएट कर ली हैं। अब इसके बाद [44:26] मैं आपको इन एपीआई को चेक करने के लिए [44:28] इसका राउट भी क्रिएट करके दिखाता हूं। तो [44:30] इसका राउट थोड़ा सा अलग तरीके से बनेगा। [44:32] देखिए इसके लिए हम राउट फोल्डर के अंदर [44:34] जाएंगे। पहले हम यूज़ करते थे वेब php। अब [44:36] हम एपीआई के लिए राउट बना रहे हैं। तो [44:38] इसके लिए हम यूज़ करेंगे एपीआई.php [44:41] और यहां पर जाकर मैं अपना राउट क्रिएट [44:43] करने वाला हूं। तो सबसे पहले मैं लॉग इन [44:45] और साइन अप दोनों के लिए यहां पर राउट [44:47] क्रिएट कर लेता हूं। तो देखिए मैं इसको [44:49] यहां से रिमूव कर देता हूं। और यहां पे [44:52] लिखता हूं पोस्ट। तो सबसे पहले मैं अपने [44:54] राउट का नाम लिख रहा हूं। यहां पे साइन [44:56] अप। जो साइन अप के केस में हम यूज़ करेंगे। [44:58] और इसके अंदर हम कौन सा कंट्रोलर यूज़ करने [45:00] वाले हैं, उसका नाम है आउट कंट्रोलर। यह [45:03] देखिए, मैंने इस पे क्लिक किया। यहां पर [45:05] आप देख सकते हैं कि ऊपर फाइल भी इंक्लूड [45:07] हो चुकी है। अगर आपके केस में नहीं हो रही [45:09] है तो आप इसे मैनुअली भी लिख सकते हैं। [45:10] इसके बाद आप यहां लिखेंगे क्लास और इसके [45:13] बाद यहां पर कौन सा मेथड उस मेथड का नाम [45:15] जो मैंने इस कंट्रोलर फाइल के अंदर बनाया [45:17] उसका नाम भी मैंने रखा था साइन अप। अब इसी [45:20] तरह मैं इसकी दो डुप्लीकेट कॉपी कर लेता [45:22] हूं। एक लॉगउ के लिए एक साइन इन के लिए। [45:25] तो यहां पर मैं बनाता हूं लॉग इन और मेथड [45:28] का नाम है यहां पर लॉग इन। [45:30] इसके बाद लॉग आउट के लिए और लॉग आउट के [45:34] लिए मैंने यहां पर मेथड बनाया था लॉग आउट। [45:37] यह तीनों मेथड्स मैंने अपनी कंट्रोलर फाइल [45:39] के अंदर बनाए हैं जिसका नाम है आउट [45:41] कंट्रोलर। अब देखिए यूजर जब यह लॉगउ करने [45:44] लगेगा तो सिंपली लॉगउ नहीं कर सकता। पहले [45:47] हम यह चेक करेंगे कि या वो लॉगिन है कि [45:49] नहीं। तो उसके लिए हम टोकन को चेक करेंगे। [45:51] तो टोकन चेक होता है सटम मेथड से। तो उसके [45:55] लिए हम इसके अंदर मिडिल वेयर पास करेंगे [45:57] लास्ट में [45:59] और इसके अंदर पास कर दूंगा मैं आउट। आउट [46:02] बेसिकली चेक करता है जैसे हम पिछली [46:03] वीडियोस में देख चुके हैं यूजर [46:05] ऑथेंटिकेटेड है कि नहीं। और ऑथेंटिकेशन हम [46:08] कैसे चेक कर रहे हैं? सटम मेथड की हेल्प [46:10] से। तो उसके लिए मैं यहां पर कॉलन लगाऊंगा [46:12] और यहां पे लिख दूंगा सtम। [46:15] यह देखिए। तो लॉगउ आप तभी कर सकते हो अगर [46:18] आप लॉगिन हो। तो यह पहले चेक करेगा तभी आप [46:20] लॉगउ हो सकते हो। और यह मैंने लॉग इन और [46:22] साइन अप के लिए बना दिया। अब इसको चेक [46:24] करने के लिए मैं इस फाइल को पहले सेव करता [46:26] हूं और ओपन करता हूं अपना पोस्टमैन नाम का [46:28] सॉफ्टवेयर। [46:30] तो यहां पर देखिए मैंने अपना पोस्टमैन नाम [46:32] का सॉफ्टवेयर ओपन कर लिया है। यहां पर [46:34] सबसे पहले आके आपको क्या करना है? देखिए [46:36] यहां पर मैंने ऑलरेडी इस पे लॉग इन कर रखा [46:38] है इनकी वेबसाइट पे। तो आप यहां पर लॉग इन [46:40] कर लेना क्योंकि लॉग इन होने के बाद इसके [46:42] कुछ एडवांस फीचर्स हैं वह आप तभी यूज कर [46:45] सकते हैं। तो जब से ही आप इसे लॉग इन कर [46:46] लेंगे इनकी वेबसाइट पर जाकर रजिस्टर करके [46:49] तो यहां पर आपको प्लस पे क्लिक करना है। [46:52] तो देखिए इस तरह से आपके पास अनटाइटल [46:54] रिक्वेस्ट आ जाएगी। अभी यह रिक्वेस्ट हम [46:56] सेव भी कर सकते हैं। यहां पर सेव का बटन [46:58] भी होता है। मगर अभी मैं इसे सेव नहीं कर [47:00] रहा हूं। तो यहां पर हमें सबसे पहले क्या [47:02] करना है? यहां पर चेंज कर लेना है पोस्ट। [47:04] यहां पर देखिए सारे एचtटीp के सारे मेथड्स [47:06] आ रहे हैं। पोस्ट पे मैंने यहां पर क्लिक [47:08] किया और यहां पर सबसे पहले मैं साइन अप [47:10] करने वाला हूं। तो यहां पर मैं अपना पूरा [47:12] यूआरएल दे देता हूं अपने प्रोजेक्ट का। [47:22] यह देखिए मैंने यहां पर लिखा http कॉलन [47:25] लोकल होस्ट फिर उसका पोर्ट नंबर क्योंकि [47:27] अभी मैं लोकल होस्ट पे काम कर रहा हूं। [47:29] अगर आप किसी लाइव सर्वर पर काम कर रहे [47:31] होंगे तो वहां पर उस वेबसाइट का नाम आएगा [47:33] जहां पर आपकी एपीआई पड़ी हुई है। तो हमारी [47:36] एपीआई के लिए अब यहां पर हम क्या लिखेंगे? [47:38] अगर आपने एपीआई पीएp फाइल के अंदर अपनी [47:40] एपीआई का राउट बनाया तो आप यहां पे [47:42] लिखेंगे एपीआई। उसके बाद आप यहां पे [47:45] लिखेंगे साइन अप जो भी आपके राउट का नाम [47:47] है। अब इसके अंदर हम यहां पर फॉर्म को सेव [47:50] करने वाले हैं। जैसा कि मैं यहां पर कर [47:52] चुका हूं। यह देखिए साइन अप वाले पेज में [47:54] हम इन तीन फील्ड्स को सेव करवाने वाले [47:56] हैं। नेम, ईमेल और पासवर्ड। तो अभी हमने [47:59] कोई HTML का फॉर्म तो नहीं बनाया। तो मैं [48:01] यहीं पर इसका यूज करने वाला हूं। तो सबसे [48:03] पहले मुझे क्या करना है? यहां पर जाना है [48:04] अपने बॉडी में और बॉडी के अंदर मैं यहां [48:07] पर फॉर्म डाटा को यूज़ करूंगा। क्योंकि [48:09] एक्चुअल लाइफ में मैं इसे एज ए फॉर्म के [48:11] डाटा के साथ सेव करने वाला हूं। तो इसलिए [48:13] मैं यहां पर क्लिक करता हूं फॉर्म डाटा। [48:15] और यहां पर मैं अपनी फील्ड्स ले लेता हूं। [48:17] नेम, ईमेल और पासवर्ड। यह देखिए नेम हो [48:20] गया। [48:22] और यह हो गया पासवर्ड। अब इन तीनों की [48:25] वैल्यूज़ मैं इसके बिल्कुल सामने पैरेलल [48:26] में जो वैल्यूज़ नाम का कॉलम है उसमें डाल [48:28] दूंगा। तो मैं एक यूजर ले लेता हूं जैसे [48:30] Yahoo baba [48:33] और इसका एक ईमेल बना लेता हूं जिसको मैं [48:35] एपीआई के अंदर यूज़ कर रहा हूं। [48:38] YB@mail.com और इसका एक पासवर्ड भी सेट कर [48:41] देता हूं। जैसे 1 2 3 ये देखिए। अब ये [48:44] सारी इंफॉर्मेशनेशन हमारे डाटाबेस के अंदर [48:46] सेव हो जाएगी। और वो होगी किसकी हेल्प से? [48:48] वो होगी हमारी एपीआई की हेल्प से। और इससे [48:51] नेक्स्ट वीडियो में हम देखेंगे इस सारे [48:52] डाटा को हम फॉर्म के साथ कैसे सेव करते [48:54] हैं जिसमें हम अजेक्स का यूज करने वाले [48:56] हैं। तो अभी मैं यहां पर सेंड पर क्लिक [48:58] करूंगा [49:00] और यह देखिए जैसे ही हमारा डाटा [49:03] सक्सेसफुली सेव हो चुका है। तो यहां पर एज [49:05] ए रिस्पांस इसने यहां पर हमारे पास एक [49:08] डाटा सेंड किया है। यह वही डाटा है जो [49:10] हमने अपनी कंट्रोलर फाइल के अंदर रखा था। [49:12] जैसे स्टेटस यहां पे ट्रू सेट किया था, [49:14] मैसेज सेट किया था। यूजर क्रिएटेड [49:16] सक्सेसफुली और यूजर लास्ट में उसकी सारी [49:18] इंफॉर्मेशन आ रही है। तो यहां पर आपको [49:20] क्लियर हो रहा होगा कि कैसे हम यहां पर और [49:22] उसका यहां पर रिस्पांस चेक कर सकते हैं। [49:24] अब फ्यूचर में अगर हम यहां पर मोबाइल ऐप [49:26] में काम कर रहे हैं या रect js या व्यू js [49:28] के अंदर काम कर रहे हैं तो हमें यह डाटा [49:30] मिलेगा एज ए रिस्पांस जिसको हम अपनी [49:32] वेबसाइट के अंदर कहीं शो कर सकते हैं। अब [49:34] इसके बाद मैं अपनी दूसरी यूपीआई को चेक [49:36] करता हूं जो है लॉग इन से रिलेटेड। तो मैं [49:37] इसी यूआरएल को कॉपी कर लेता हूं। [49:40] यहां पे आता हूं। तो सबसे पहले मेरे को [49:42] यहां पे चेक करना है पोस्ट क्योंकि मैंने [49:44] अपने जितने भी राउट्स क्रिएट किए हैं उन [49:46] सब में पोस्ट मेथड का यूज़ किया है। यहां [49:48] पर मैं साइन अप की जगह पे लिख दूंगा लॉग [49:50] इन। अब यहां पर जो मेरा फॉर्म का डाटा था [49:53] मैं उसमें जाता हूं बॉडी में फॉर्म डाटा [49:55] में और यहां पर मेरी दो फील्ड्स हैं ईमेल [49:58] और पासवर्ड। [50:00] अब जो मैंने अभी लॉगिन क्रिएट किया है [50:02] अपना साइन अप yahoo बाबा से उससे मैं यहां [50:04] पर लॉग इन कर लेता हूं। [50:07] यह देखिए मैंने इसका यूजरनेम और पासवर्ड [50:09] दोनों सेट कर दिए हैं। यहां पर फील्ड्स ले [50:10] लिए हैं और यहां पर सेट कर दिए पोस्ट। यह [50:12] आपको चेक कर लेना है। यहां पर पोस्ट ही [50:14] होना चाहिए। अब मैं यहां पर सेंड पे क्लिक [50:16] करता हूं। यह देखिए यहां पर एज ए रिस्पांस [50:21] यहां पे स्टेटस आ चुका है। मैसेज आ चुका [50:22] है जो हमने सेट किया था अपनी कंट्रोलर [50:24] फाइल के अंदर। और सबसे मेन चीज जो sm [50:27] एपीआई ने हमारे को दिया है टोकन। यह देखिए [50:29] उसने हमारे को एक टोकन क्रिएट करके दिया [50:31] है जिसकी टाइप है बियर। इसका यूज हम अपनी [50:34] नेक्स्ट वीडियो के अंदर करेंगे और इस [50:36] वीडियो के अंदर भी हम करने वाले हैं आगे [50:38] मगर वह अलग तरीके से होगा। देखिए अगर मैं [50:40] दोबारा से लॉग इन करता हूं यहां पे सेंड [50:42] करूंगा तो यह टोकन चेंज हो जाएगा। मैं [50:44] आपको करके दिखाता हूं। यह देखिए यहां पर [50:48] यह टोकन क्रिएट हो चुका है। इसका मतलब [50:50] हमारे डाटाबेस के अंदर अब दो टोकन बन चुके [50:52] हैं इसी यूजर के। मैं एक बार आपको डाटाबेस [50:55] में भी चेक कराता हूं। तो देखिए यहां पर [50:57] मैं अपने यहां आ गया अपने डाटाबेस में [50:59] जिसका नाम है सtम एपीआई। अब यहां पर कई [51:02] टेबल्स हैं। यूजर का टेबल है, पोस्ट का [51:03] टेबल है और यहां पर एक टेबल है पर्सनल [51:06] असेस टोकन। अब जब से मैंने दो बार लॉग इन [51:09] किया तो इसके अंदर दो रोज़ क्रिएट हो चुकी [51:11] होंगी। मैं इस पे क्लिक करता हूं। और यह [51:13] देखिए यहां पर दो रोज़ क्रिएट हो चुकी हैं [51:16] और दो बार टोकन क्रिएट हुआ है। सेम ही [51:18] यूजर के लिए जिसका आईडी है वन। आप यहां पर [51:21] देख सकते हैं। मैं आपको यूजर भी चेक करा [51:23] देता हूं। तो, यहां पर यूज़र्स टेबल है। यह [51:26] देखिए, यह यूजर है हमारा Yahoo Baba। इसकी [51:28] ईमेल और पासवर्ड भी आ रहा है। [51:30] तो यह मैंने इंफॉर्मेशन जब लॉगिन का यूज [51:33] की तो इसने दो बार टोकन क्रिएट कर दिया। [51:36] तो बेसिकली ऐसा रियल लाइफ में नहीं होता। [51:38] जब आप एक बार लॉग इन करते हैं किसी एक [51:40] डिवाइस से तो उसका एक ही टोकन बनेगा। एक [51:42] ही यूजर ऐसा हो सकता है कि अलग-अलग [51:44] डिवाइसेस से लॉग इन करे। जैसे Chrome से [51:46] लॉग इन कर लिया, Firefox से लॉग इन कर [51:48] लिया, अपने मोबाइल में जाकर लॉग इन कर [51:50] लिया। तो ऐसे वह अलग-अलग जहां-जहां पर भी [51:52] लॉग इन करेगा, तो उस हर डिवाइस का टोकन [51:55] अलग बनेगा और उस हर ब्राउज़र का भी टोकन [51:57] अलग बनेगा। इसके बाद जैसे हमने देख लिया [52:01] कि हम कैसे साइन अप कर सकते हैं, लॉग इन [52:02] कर सकते हैं। मैंने लॉग इन की भी आपको [52:04] यहां पर एपीआई को यूज करके दिखा दिया। अब [52:06] इसके बाद हमारा लास्ट जो हमने अभी एपीआई [52:08] क्रिएट की है लॉगउ के लिए उसको भी देख [52:10] लेते हैं। तो उसके लिए मैं इसी यूआरएल को [52:12] कॉपी कर लेता हूं। [52:15] और इस यूआरएल को हम लॉग आउट के टाइम पे [52:17] यूज़ करेंगे। तो यहां पर लिख देता हूं लॉग [52:18] आउट। [52:20] और यहां पर गेट की जगह पे चेंज कर देता [52:22] हूं पोस्ट। क्योंकि मैंने अपने राउट के [52:24] अंदर इसका मेथड पोस्ट ही लिया है। अब यहां [52:26] पर कोई भी बॉडी की इंफॉर्मेशन जैसे हमने [52:28] पहले सेट की थी वह करने की जरूरत नहीं है [52:30] क्योंकि यह सिर्फ हमारे टोकन को डिलीट [52:32] करेगा। तो मैं यहां पे क्या करता हूं? [52:34] सेंड पे क्लिक करता हूं। देखिए यहां पर एक [52:37] आ चुका है एक एरर। आप यहां पे देख रहे [52:39] हैं। यहां पर टेस्ट रिजल्ट में भी जाकर [52:42] देख सकते हैं। या यहां पर कुकीज़ में वैसे [52:43] बॉडी में सही दिखा रहा है। यहां पर अगर इस [52:46] तरह की hटीएमएल आ रही है तो इसका मतलब एक [52:48] एरर है। यह एरर क्यों आया है? क्योंकि जब [52:51] मैंने यहां पर अपना राउट क्रिएट किया था [52:52] तो मैंने यहां पर चेक करवाया कि वह लॉगिन [52:54] है कि नहीं। तो हमारे राउट को यह तो पता [52:57] ही नहीं लग रहा कि आप लॉगिन हो कि नहीं। [52:59] तो हमें जो sm एपीआई ने एक टोकन बना के [53:01] दिया है वो टोकन भी हमें उसके अंदर पास [53:04] करना है। तो उसको हम पास कैसे करेंगे? [53:06] पहले मैं अपने पिछले वाले टैब में जाता [53:08] हूं जहां पर हमने लॉगिन किया था और यह [53:10] हमारा टोकन था। इस टोकन को मैं यहां से [53:12] कॉपी कर लेता हूं। क्योंकि अभी हम यहां पर [53:14] hटीएमl फॉर्म का यूज़ नहीं कर रहे हैं। तो [53:16] अभी हम पोस्टमैन के अंदर ही टोकन पास [53:18] करेंगे। तो पोस्टमैन के अंदर हम टोकन कैसे [53:20] पास करते हैं? उसके लिए हम जाते हैं [53:22] ऑथराइजेशन में और यहां पर आउट टाइप के [53:25] अंदर जाकर यहां पर बियर टोकन लेना है [53:27] क्योंकि स यूज़ करता है बियर टोकन और यहां [53:30] पर देखिए टोकन के अंदर जाकर एक पहले से ही [53:32] टोकन आ रहा है हमारे केस में इसको मैं हटा [53:34] देता हूं और यहां पर नया टोकन पेस्ट कर [53:36] देता हूं जो मैंने अभी कॉपी किया दूसरे [53:38] टैब से अब जब मैं इसको सेंड करूंगा तो यह [53:41] टोकन भी जाएगा सर्वर पे और यह पहले टोकन [53:43] चेक होगा उसके बाद आप इस तरह से लॉगउ हो [53:46] सकते हो तो यह बात आपको याद रखनी है जब भी [53:49] हम अंदर वाले पेजेस में जाएंगे जहां पर [53:51] टोकन की जरूरत है। तो आपको यहां से [53:52] ऑथराइजेशन में जाकर टोकन को पहले सेट करना [53:54] है। तो यहां पर मैंने सेंड पे क्लिक किया [53:58] और यह देखिए अब हम सक्सेसफुली लॉगउ हो [54:00] चुके हैं। यहां आ गया स्टेटस ट्रू और यूजर [54:03] की मैंने लास्ट में इनेशन भी सेंड की थी। [54:05] बेसिकली इसकी कोई जरूरत नहीं होती है लॉगउ [54:06] के टाइम पे और यहां पे मैसेज भी आ चुका [54:08] है। यू आर लॉग आउट सक्सेसफुली। तो यहां से [54:11] आपको क्लियर हो रहा होगा। सबसे पहले हमने [54:12] यहां पर लॉग इन किया था। मतलब कि साइन अप [54:14] फिर लॉग इन किया था और लॉग इन ने हमारे को [54:17] एक टोकन दिया। इस टोकन को हम आगे अपनी कोड [54:20] में यूज करेंगे। अभी तो हम इसको रेस्ट [54:22] एपीआई के अंदर यहां पर यूज कर रहे हैं [54:23] पोस्टमैन में। तो यहां पर देखिए हम यहां [54:26] से लॉगउ भी हो चुके हैं। मैं आपको डाटाबेस [54:28] भी चेक करा देता हूं। यह देखिए जो हमारा [54:30] यह टेबल है पर्सनल असेस टोकन मैं इसको [54:32] रिफ्रेश करता हूं। तो देखिए यहां पर उसी [54:35] यूजर के जितने भी टोकन थे वो सारे डिलीट [54:37] हो चुके हैं। ऐसा क्यों हो रहा है? [54:39] क्योंकि हमने जब लॉगउ किया है [54:43] तो यहां पर हमने उस यूजर के जितने भी [54:46] टोकंस थे उन सबको रिमूव कर दिया है। अगर [54:48] आप किसी स्पेसिफिक टोकन को यहां से रिमूव [54:50] करना चाहते हो तो यहां पर टोकन की की को [54:52] पास करना पड़ेगा। जैसे हमने यहां पर एक की [54:54] बनाई थी एपीआई टोकन। आप अलग-अलग कीज़ के [54:57] नेम भी रख सकते हैं। तो उस स्पेसिफिक की [54:59] को यहां पर जाकर रिमूव भी कर सकते हैं। अब [55:02] इसके बाद हम अपने दूसरे कंट्रोलर फाइल के [55:03] अंदर आ जाते हैं जिसका नाम है पोस्ट। [55:05] जिसको यूजर सिर्फ तभी एक्सेस कर सकता है [55:07] अगर वह लॉगिन है। तो यहां पर भी हम इस [55:09] पूरा जो हमने यह बनाया पूरा एपीआई रिसोर्स [55:11] कंट्रोलर बनाया। तो देखिए इसने अपने आप से [55:13] मेथड बना दिए जैसे नॉर्मल रिसोर्स [55:15] कंट्रोलर बनाता है। इंडेक्स का मेथड, [55:17] स्टोर का मेथड, शो का मेथड, अपडेट का मेथड [55:20] और लास्ट में डिस्ट्रॉय का मेथड। तो इनको [55:22] अब हम इस वीडियो के अंदर यूज़ करने वाले [55:24] हैं। तो सबसे पहले हम सारे डाटा को शो [55:26] करना चाहते हैं। और वो भी एपीआई से डाटा [55:28] को दिखाना चाहते हैं। तो उसके लिए मैं [55:30] यहां पे क्या करने वाला हूं? सबसे पहले [55:31] मैं यहां पर एक वेरिएबल ले लेता हूं डाटा [55:33] नाम से। और यह डाटा जो है यह एक एरे बना [55:36] देते हैं जिसके अंदर एक की भी ले लेते हैं [55:38] पोस्ट। आप नॉर्मल वेरिएबल भी बना सकते हैं [55:41] डाटा जो ऑटोमेटिकली एरे बन ही जाएगा। मगर [55:43] मैं यहां पे पोस्ट ले रहा हूं ताकि आपको [55:45] समझना आसान हो जाए। और इसके अंदर अपनी [55:47] एलुकेंट की क्वरी लगा देते हैं। हमारा एक [55:49] पोस्ट टेबल है। इसको मैं यहां से इंक्लूड [55:51] कर लेता हूं। तो देखिए यहां पर पोस्ट मॉडल [55:53] फाइल इंक्लूड हो चुकी है। [55:56] उसके अंदर मैं सारे डाटा को फैच करना [55:58] चाहता हूं। तो ऑल लिख लेता हूं। और यह अब [56:00] जो यह मेरा डाटा आया है इस वाले वेरिएबल [56:02] के अंदर इसको मैं एज ए जसन के रिस्पांस [56:05] में सेंड करना चाहता हूं। तो जैसे मैंने [56:06] पिछली वीडियो में किया था। मैं इस सक्सेस [56:08] मैसेज को यहां से कॉपी कर लेता हूं। और [56:11] यहां पर एज ए रिस्पांस सेंड कर दूंगा jसन [56:14] जिसका स्टेटस है ट्रू जिसका मैसेज यहां पे [56:17] आ जाएगा। मैसेज में मैं यहां लिख देता हूं [56:21] ऑल पोस्ट डाटा। आप कोई भी मैसेज शो कर [56:26] सकते हैं। आपकी मर्जी है। अब जो यह डाटा [56:28] यूजर के पास यहां से आया है मेरे पास डाटा [56:30] नाम के वेरिएबल की में इसको भी मैं एज ए [56:32] जसन के फॉर्मेट में सेंड कर देता हूं। तो [56:34] उसके लिए मैं की ले लेता हूं डाटा। आप की [56:36] का नेम कुछ भी ले सकते हैं। आपकी मर्जी [56:38] है। और यहां पर जो भी मेरे पास सारा डाटा [56:41] आया उसको मैं यहां से सेंड कर देता हूं। [56:43] यह देखिए। तो यह मेरा काम हो चुका है। अब [56:45] इसके बाद मैं यहां पर फटाफट से यहां पर [56:48] स्टोर का भी सारा मेथड क्रिएट कर लेता [56:50] हूं। अब सबसे पहले मुझे क्या करना है? जो [56:51] भी हमारे पास यहां पर सारा डाटा आएगा [56:54] फॉर्म की वैल्यू से उसको मैं यहां पर [56:56] वैलिडेट करूंगा। तो मैं यहां पे क्या करता [56:58] हूं? जो मैंने साइन अप के केस में सारा [57:00] कोड किया था उसी को मैं यहां से कॉपी कर [57:02] लेता हूं। क्योंकि सेम सा ही कोड होगा। यह [57:04] देखिए साइन अप का यह मेरा पूरा पेज है। [57:06] यहां पर मैंने वैलिडेट किया था। फिर उसको [57:08] चेक किया था। अगर फेल हो गया है। फिर [57:10] क्रिएट किया था और लास्ट में सक्सेस का [57:12] मैसेज शो किया था। तो इसको मैं कॉपी करके [57:14] सारा यहां पर डाल देता हूं। यह देखिए। अब [57:18] यहां पर सबसे पहले मैं वैलिडेट करूंगा। तो [57:19] इस फाइल को इंक्लूड कर लेता हूं। राइट [57:21] क्लिक करके इंपोर्ट क्लास। और यहां पर [57:23] मुझे इंपोर्ट करनी है यह फैसेट्स के अंदर [57:25] जो वैलिडेटर है। अब मेरे पोस्ट वाले टेबल [57:28] के अंदर तीन फ़ील्ड्स थी। टाइटल, [57:30] डिस्क्रिप्शन और इमेज। तो उसको मैं यहां [57:32] पर लिख लेता हूं। [57:37] यह देखिए यहां पर मैंने तीनों फील्ड्स [57:39] लेनी है। टाइटल, डिस्क्रिप्शन और इमेज [57:41] तीनों ही रिक्वायर्ड है डालनी। और जो इमेज [57:43] है उसका फॉर्मेट भी बता दिया मेस नाम के [57:45] यहां पर वैलिडेशन रूल की हेल्प से पीएजी, [57:47] जेपीजी, जेपीजी और लास्ट में गिव। इन [57:50] इमेजज़ का ही फॉर्मेट सिर्फ एक्सेप्ट होगा [57:52] अपलोड के लिए। इसके बाद यह हमारा मैसेज आ [57:54] जाएगा वैलिडेशन एरर का। अगर यह वैलिडेशन [57:57] फ़ेल हो जाती है। [58:00] इसके बाद यहां पर हम अपना डाटाबेस को सेव [58:03] करेंगे। डाटाबेस में सारी वैल्यूज़ को। तो [58:04] वही फील्ड्स मैं ले लेता हूं। यहीं से [58:06] कॉपी करके टाइटल, डिस्क्रिप्शन और इमेज। [58:11] और यहां पर मुझे फॉर्म की फील्ड लेनी है। [58:14] तो उसके लिए मैं मेथड यूज़ करूंगा [58:15] रिक्वेस्ट। [58:17] और मान लीजिए हमारी फॉर्म की फील्ड का नाम [58:19] है टाइटल। बिल्कुल इसी को कॉपी कर लेता [58:22] हूं। [58:25] और यहां पर जो इमेज आएगी उसको बेसिकली हम [58:28] किसी वेरिएबल के अंदर अभी डालेंगे। मैं [58:30] आपको दिखाता हूं। तो उसका नाम भी मैं यहां [58:31] पर ले लेता हूं। जैसे इमेज नेम और यहां पर [58:35] अब यूजर नहीं आएगा। टेबल का नेम है यहां [58:37] पर पोस्ट। तो मैं उसी को लिख देता हूं। तो [58:39] देखिए ये वाली हमारी फील्ड्स तो सेव हो [58:40] जाएंगी। टाइटल और डिस्क्रिप्शन। हमारे को [58:43] सबसे पहले एक इमेज अपलोड करानी है और उसका [58:45] जो हम रीनेम करेंगे उसको डाटाबेस में सेव [58:47] करना है। तो उसके लिए मैं यहां पे क्या [58:49] करता हूं? सबसे पहले मैं इमेज को अपलोड [58:51] करता हूं। जैसा कि हम अपनी पिछली वीडियो [58:53] में देख चुके हैं। इमेज को अपलोड कैसे [58:54] करते हैं। मैं उसका कोड लिख लेता हूं। फिर [58:56] आपको समझाता हूं। [59:00] यह देखिए यहां पर मैंने क्या किया? सबसे [59:02] पहले जो भी हमारा फॉर्म की रिक्वेस्ट से [59:04] इमेज नाम की मान लीजिए एक फील्ड होगी। [59:06] उससे हम इमेज का सारा नेम उठा लेंगे। और [59:10] यहां पर मैं उसका रीनेम करने वाला हूं। तो [59:12] सबसे पहले मुझे क्या करना है? उसकी [59:13] एक्सटेंशन निकालनी है कि उसकी एक्सटेंशन [59:15] क्या है? जेपीजी है, पीएजीए क्या है? तो [59:17] उसके लिए मैंने क्या किया? इसी वेरिएबल को [59:18] यूज़ किया और यहां पे लारावेल का मेथड यूज़ [59:20] कर लिया। गेट ओरिजिनल एक्सटेंशन तो हमारे [59:23] को एक्सटेंशन मिल जाएगी। उसके बाद मैं [59:24] उसका रिनेम कर लूंगा। तो मैं पहले नेम [59:27] बनाता हूं। तो नेम में मैंने क्या किया? [59:29] एक अभी का जो भी टाइम होगा डॉट और जो भी [59:31] मैंने एक्सटेंशन उठाई है जैसे जेपीजी तो [59:33] जेपीजी लग जाएगा। पीnजी होगा तो पीnजी लग [59:35] जाएगा। उसके बाद मुझे क्या करना है? उस [59:37] इमेज को मैं अपने प्रोजेक्ट फोल्डर के [59:39] अंदर कहीं पर भी सेव करने वाला हूं। वो [59:41] कैसे करूंगा? उसके लिए मैं मूव मेथड का [59:43] यूज़ कर रहा हूं। और यहां पर पब्लिक पाथ के [59:45] अंदर मुझे जाना है। जो हमारा बेसिकली [59:47] अपलोड्स का फोल्डर होता है यहां पर। मैं [59:50] आपको दिखा देता हूं। यह पब्लिक फोल्डर। इस [59:52] पब्लिक फोल्डर के अंदर एक फोल्डर क्रिएट [59:54] हो जाएगा जिसका नाम होगा अपलोड्स। देखिए [59:56] अभी यह फोल्डर नहीं है और उसके अंदर नया [59:58] नाम आ जाएगा जो हमने अभी रखा है इमेज का। [60:01] तो पहले उसी नाम की इमेज इस फोल्डर में [60:03] सेव होगी और डाटाबेस में भी हम यहां पर [60:05] जाकर उसे सेव कर देंगे। तो यह हो गया [60:08] हमारा अपडेट का कोड। अब अगर हमारे को [60:11] सिंगल रिकॉर्ड देखना है, किसी सिंगल पोस्ट [60:13] को शो करना है, तो उसका भी हम यहां पर कोड [60:15] कर लेते हैं। [60:18] तो यहां पर मैं क्या कर रहा हूं? एक डाटा [60:20] नाम का एक वेरिएबल ले लेता हूं। उसके अंदर [60:22] मैं यहां पर पोस्ट नाम की एक की ले लेता [60:24] हूं। जिसके अंदर मैं सारा डाटा स्टोर करने [60:26] वाला हूं। और डाटा कौन सा स्टोर होगा जो [60:28] पोस्ट टेबल से आएगा हमारे पास। और इसके [60:31] अंदर मैं कौन-कौन से कॉलम्स देखना चाहता [60:33] हूं? तो उसके लिए मैं मेथड यूज़ करूंगा [60:35] सेलेक्ट। [60:36] और पहली फील्ड का नाम है जैसे आईडी। [60:40] और यहां पर यह सारी फील्ड्स मैं उठा [60:43] लूंगा। और इसके बाद मैं यहां पर वेयर [60:45] कंडीशन लगाता हूं कि किस यूजर का डाटा [60:47] मुझे देखना है। तो उसके लिए मैं यहां पे [60:48] लिखूंगा वेयर। और वेयर में यहां पर मैं एक [60:51] एरे बना लेता हूं। एक फील्ड पास कर देता [60:52] हूं आईडी। क्योंकि मैं आईडी से सर्च करना [60:55] चाहता हूं। [60:57] ये आईडी मुझे कहां से मिलेगा? यूआरएल से [60:58] जो हम यहां पर हमारे को मिल रहा है ये [61:00] स्ट्रिंग में। ये आईडी को ही मैं यहां पर [61:02] यूज़ कर रहा हूं। और यहां पे मैंने लिख [61:05] दिया गेट। तो ये डाटा हमें इस वाले कॉलम्स [61:08] का डाटा चाहिए। इस वाले टेबल में से जिसका [61:10] नाम है पोस्ट जहां पर यह आईडी मैच कर रहा [61:12] होगा। इस डाटा को सारा फैच करके ले आएगा [61:14] जिसको मैं एज़ ए रिस्पांस सेंड करूंगा। तो [61:16] रिस्पांस मेरा जेसन फॉर्मेट में होगा। तो [61:18] मैं इसको कॉपी कर लेता हूं और यहां पर आकर [61:22] सेट कर देता हूं। तो यहां पे स्टेटस रहेगा [61:24] ट्रू और यहां पर लिख देता हूं। जैसे यहां [61:27] पर लिखा था [61:29] यहां पर मैंने कुछ चेंज नहीं किया। यहां [61:31] पर भी मुझे चेंज करना था। तो इसको मैं [61:32] पहले कर लेता हूं। [61:37] यहां पर मैं लिखता हूं पोस्ट [61:39] और यहां पर भी लिख देता हूं पोस्ट। यही [61:42] वाली सारी पोस्ट मैं यहां से सेंड कर [61:45] दूंगा। [61:46] यूजर को भी पता लग जाएगा कि मैंने कौन सी [61:48] पोस्ट क्रिएट की है। और यहां पर लिख देता [61:50] हूं पोस्ट क्रिएटेड सक्सेसफुली। [61:52] यहां पर अब से आता हूं। यहां पर भी मैसेज [61:54] चेंज करता हूं। [61:59] यहां पर जस्ट मैसेज चेंज कर रहा हूं। योर [62:01] सिंगल पोस्ट। अब यहां पर मेरे पास सारा जो [62:04] डाटा आ रहा है वह आ रहा है डाटा राम के [62:05] वेरिएबल में। तो इसी को मैं यहां से सेट [62:07] कर देता हूं और यहां पर लिख देता हूं [62:09] डाटा। अब यूजर को यह सिंगल डाटा मिल जाएगा [62:12] पोस्ट का तो वो यहां देख सकता है। अभी मैं [62:14] आपको सारा पोस्टमैन में चेक भी कराऊंगा। [62:16] उसके बाद जब मेरे को डाटा को अपडेट करना [62:18] है। तो इसके अंदर भी बेसिकली वही कोड करना [62:20] है जो मैंने ऊपर इंसर्ट के केस में किया [62:22] है। यही कोड मैं सारा कॉपी कर लेता हूं। [62:25] क्योंकि इसी को पहले मैं वैलिडेट करूंगा। [62:27] फिर उसका मैसेज आ जाएगा। फिर उसके बाद यह [62:29] इमेज को अगर यूजर ने चेंज किया तो वह कर [62:32] सकता है। फिर यहां पर अपडेट कमांड [62:33] चलाएंगे। तो मैं सीको कोड को कॉपी कर रहा [62:35] हूं [62:38] और यहां आकर पेस्ट। [62:41] तो सबसे पहले मैं यही चेक करूंगा टाइटल, [62:43] डिस्क्रिप्शन और इमेज। उसके बाद मैं यहां [62:46] पर वैलिडेशन का एरर दिखा दूंगा। अगर यह [62:48] वैलिडेशन फेल हो जाती है, यूजर ने इसके [62:50] अकॉर्डिंग फील्ड्स की वैल्यू नहीं डाली [62:52] है। और यहां पर पहले इमेज को भी मैं बाद [62:55] में चेंज करूंगा। यहां पर मैं मेथड चेंज [62:57] कर देता हूं क्रिएट की जगह पे। अपडेट। तो [62:59] अपडेट के लिए सबसे पहले मुझे यहां पर [63:00] कंडीशन लगानी है। तो उसको मैं लिखूंगा [63:02] वेयर और उसके बाद अपडेट। वेयर में मैं [63:06] यहां पर [63:08] एरे की फॉर्म में यहां पर आईडी सेंड कर [63:10] देता हूं। आईडी और यहां पर लिख देता हूं [63:12] आईडी। अब यह वही आईडी है जो मेरे को ऊपर [63:14] से मिलेगा। यह देखिए। यही आईडी मैं यहां [63:17] पर सेट करने वाला हूं। क्योंकि इसी यूजर [63:20] का मुझे डाटा सेव करना है। बाकी सब फील्ड [63:22] सेम ही रहेंगी। टाइटल, डिस्क्रिप्शन और [63:24] इमेज नेम और यहां पर लेता हूं पोस्ट [63:26] अपडेटेड सक्सेसफुली। [63:29] तो, यहां पे मुझे सबसे पहले क्या चेक करना [63:31] है? मुझे यह चेक करना है कि यूजर ने पहले [63:33] कोई इमेज अपलोड कर रखी है कि नहीं। अगर [63:34] नहीं कर रखी, तो इमेज अपलोड कर दे और अगर [63:37] कर रखी है, तो पहली वाली इमेज को रिमूव कर [63:39] दे। तो, उसके लिए मैं यहां पे क्या [63:40] करूंगा? यहां पर अपना कोड लिख लेता हूं। [63:42] इसको मैं अभी बाद में यूज़ करूंगा। इससे [63:45] पहले मैं यहां पर सबसे पहले सारे डाटा को [63:47] फैच करता हूं। जिसको यूजर अपडेट करना [63:49] चाहता है। तो, यहां पर मैं ले रहा हूं [63:51] पोस्ट। [63:54] यहां पर सिर्फ दो कॉलम्स का डाटा चाहिए [63:56] आईडी और इमेज का [63:59] और यहां पर मैं कर लेता हूं गेट। गेट की [64:01] जगह पे आप यहां पर फर्स्ट मेथड का भी यूज़ [64:03] कर सकते हैं। जो पहला डाटा मिलेगा उसी को [64:05] अगर आपने दिखाना है। अब यहां पर सबसे पहले [64:08] मुझे चेक करना है यूजर ने अभी कोई फॉर्म [64:11] के अंदर फील्ड डाली है कि नहीं। तो उसके [64:12] लिए मैं यही मेथड यहां से कॉपी कर लेता [64:14] हूं। [64:17] अगर वो खाली नहीं है तब वो इस फील्ड के [64:20] अंदर आएगा। मतलब कि इस इफ स्टेटमेंट के [64:22] अंदर। तो हम सबसे पहले पुरानी इमेज को [64:24] डिलीट करेंगे। तो उसके लिए मैं यहां पे [64:25] क्या करता हूं? अपने इसी पाथ को कॉपी कर [64:27] लेता हूं। [64:30] और अब मैं अपने डाटाबेस में भी चेक कर [64:32] लेता हूं कि डाटाबेस में जो इमेज नाम का [64:34] कॉलम है उसमें कोई वैल्यू कहीं खाली तो [64:36] नहीं है। अगर वो खाली नहीं है तभी मुझे [64:38] इमेज को डिलीट करना है। मतलब कि उसके अंदर [64:40] इमेज पहले से रखी हुई है। तो उस इमेज को [64:42] पहले रिमूव करना है। तभी नई इमेज को अपलोड [64:44] करना है। [64:47] ये देखिए। यहां पर मैंने चेक कर लिया क्या [64:49] उसके अंदर एम्प्टी वैल्यू इतनी है या फिर [64:51] उसकी वैल्यू नल तो नहीं है। इन दोनों में [64:53] से अगर सेम ही वैल्यू है मतलब कि दोनों [64:55] में से तब मैं पुरानी इमेज को पहले डिलीट [64:57] करूंगा। [64:59] यहां पर मैं ओल्ड फाइल नाम का एक वेरिएबल [65:00] बना रहा हूं जिसके अंदर मैं इसी पाथ को [65:02] यूज़ करने वाला हूं। [65:06] और उसके बाद इमेज का नाम जो मेरे को [65:08] मिलेगा डाटाबेस से। [65:11] अब मेरे को फोल्डर में से उसको डिलीट भी [65:13] करना है। तो यहां पर सबसे पहले मैं चेक कर [65:15] लेता हूं। क्या इस नाम की कोई फाइल पड़ी [65:16] भी है कि नहीं फोल्डर के अंदर। फाइल [65:19] एग्जिस्ट। यह लाराव का मेथड है जो चेक [65:22] करने के काम आता है फाइल को चेक करने की [65:24] कि फाइल इस पर्टिकुलर फोल्डर के अंदर है [65:26] कि नहीं। तो हमारा जो फोल्डर है उसका नाम [65:28] है ओल्ड फाइल। इस वेरिएबल के अंदर सारा [65:30] पाथ आ रहा है कि इधर जाके चेक करेगा। अगर [65:32] यह फाइल एग्ज़िस्ट कर रही होगी जो हमने [65:35] यहां पर डाली है। तब ये अंदर आएगा और यहां [65:37] पर मैं वही मेथड यूज़ करूंगा जिसका नाम [65:39] होता है अनलिंक। अनलिंक बेसिकली क्या करता [65:41] है? फाइल को रिमूव कर देता है। जो भी हम [65:43] इसके अंदर डालते हैं। तो हमारी फाइल का [65:45] नाम ओल्ड फाइल है। इसको मैं यहां से रिमूव [65:48] कर देता हूं। यह देखिए। तो सबसे पहले [65:50] मैंने क्या किया? यहां पर चेक किया कि [65:53] यूजर ने फॉर्म की फील्ड के अंदर इमेज [65:54] अपलोड की है कि नहीं। अगर वह खाली है फिर [65:57] तो इसके अंदर आएगा ही नहीं। अगर उसने किया [65:59] है तो पहले पुरानी वाली इमेज को डिलीट [66:01] करेगा। जब वो इमेज डिलीट हो जाएगी। [66:05] उसके बाद ही मैं यहां पर नई इमेज को अपलोड [66:07] करने वाला हूं। तो यह कोड लगभग वही रहेगा। [66:11] तो इसको बेसिकली मुझे यहां नहीं लिखना है। [66:13] यहां से मैं इसे कट कर लेता हूं। यह [66:14] देखिए। यहां मैं इसी कोड के अंदर इसे [66:17] डालूंगा। सबसे पहले जब हमारी ये फोल्डर से [66:20] इमेज डिलीट कर दी। उसके बाद मैं इस कोड को [66:22] यहां पर डाल दूंगा। [66:24] और इसी इफ स्टेटमेंट का अगर उसके अंदर [66:27] पहले से कोई वैल्यू आ रही है हमारे फॉर्म [66:30] फील्ड के अंदर। जब हम फॉर्म को ओपन करेंगे [66:32] तो वहां पर एक वैल्यू भी डलवा देंगे। तो [66:34] यहां पर मैं इसका एक एल्स पार्ट भी बना [66:35] लेता हूं कि इसका मतलब पुरानी इमेज ही है। [66:38] उसी को दोबारा से वहीं स्टोर करना है। [66:43] यह देखिए। तो अगर यहां पर कोई नई फेज नहीं [66:46] आई होगी। पुरानी पहले ही नाम पहले से [66:48] एग्जिस्ट कर रहा है। तो यहां पर क्या [66:50] होगा? पुरानी इमेज जो हमारे डाटाबेस में [66:52] पड़ी हुई थी वही दोबारा से इस वेरिएबल के [66:54] अंदर आ जाएगी। जिसको हम डाटाबेस में [66:55] दोबारा से सेव कर देंगे। [66:58] यह देखिए। तो यह मेरा काम हो चुका है। आप [67:00] यहां पे कोड देख सकते हैं सारा का सारा। [67:02] अब यह हमारा अपडेट का कोड हो चुका है। अब [67:04] इसके बाद हमारा रह गया डिलीट से रिलेटेड [67:07] कोड। उसके लिए मैं मेथड यूज करने वाला हूं [67:09] डिस्ट्रॉय। तो, उसके लिए हमें दो काम करने [67:11] होंगे। सबसे पहले हम डाटाबेस में से भी [67:12] एंट्री को डिलीट करेंगे और उससे रिलेटेड [67:15] जो इमेजज़ हैं, उसको भी डिलीट करेंगे। तो, [67:17] सबसे पहले मैं यहां पर डाटाबेस का काम कर [67:20] लेता हूं कि डाटाबेस में से क्या रिमूव [67:22] करना है। [67:24] यह देखिए। मैंने यहां पर सबसे पहले फाइंड [67:26] किया जो यूजर ने आईडी भेजा जिसको रिमूव [67:28] करना है। मैंने उसको फाइंड किया डाटाबेस [67:30] में और यहां पर जाकर उसको रिमूव कर दिया। [67:34] अब इसको रिमूव करने के बाद मुझे यूजर को [67:36] एज ए सक्सेस मैसेज भी शो करना है। तो मैं [67:38] ऊपर से ही कॉपी कर लेता हूं और यहां पर [67:40] उसे सेट कर देता हूं। यहां पर बस मैं [67:43] मैसेज चेंज कर दूंगा। योर पोस्ट [67:46] हैज़ बीन रिमूव्ड। [67:48] यह देखिए। यहां पर आ जाएगा हमारा 200 कोड [67:51] का एरर। अब देखिए यहां पर मैं एक चीज़ आपको [67:53] और भी बताना चाहता हूं। जब हम रिमूव करते [67:54] हैं तो यह बेसिकली और अगर हम यह मैसेज शो [67:57] नहीं करना चाहते तब हम यहां पर यह कोड भी [67:59] चेंज कर सकते हैं। यहां पर लिख सकते हैं [68:01] 204 अगर आप कोई भी रिस्पांस सेंड नहीं कर [68:03] रहे एज ए मैसेज में या स्टेटस में तो अभी [68:06] तो मैं कर रहा हूं। तभी मैंने यहां पे लिख [68:07] दिया 200। अब यह मेरा डाटाबेस से तो रिमूव [68:10] हो जाएगा। मगर इससे रिलेटेड इमेज नहीं [68:12] रिमूव होगी। तो इमेज का काम मेरे को पहले [68:14] रिमूव करना है। उसके बाद डाटाबेस में से [68:16] रिमूव करना है। तो उसके लिए भी मैं यहां [68:17] पर कोड लिख लेता हूं। [68:20] पहले मैं यहां पर इमेज का पाथ बना रहा [68:22] हूं। [68:24] यह देखिए सबसे पहले मैंने क्या किया? [68:25] पोस्ट में से जाकर जो हमारा इमेज कॉलम है [68:28] जो भी वैल्यू स्टोर है इस आईडी पर उस इमेज [68:30] का नाम मैं यहां से उठा लाया। अब इस इमेज [68:33] को नाम तो मेरे पास आ चुका है। अब मेरे को [68:34] पर्टिकुलर उस पाथ पे जाकर इस इमेज को [68:36] रिमूव भी करना है। तो उसके लिए मैं ऊपर से [68:38] एक कोड कॉपी कर लेता हूं जो अभी मैंने पाथ [68:40] के लिए बनाया था। [68:42] यह देखिए कुछ इस तरीके का कोड है यहां पर [68:45] यह पाथ का। यह मैं इसको यहीं से कॉपी कर [68:47] लेता हूं। [68:51] और यहां पर ले लेता हूं फाइल पाथ। [68:55] अब यहां पर मुझे इमेज का नाम भी बताना है। [68:57] तो देखिए जो इमेज का नाम है वो आएगा पोस्ट [68:59] नाम के वेरिएबल के अंदर। अब पोस्ट बेसिकली [69:02] एक एरे होगा और उसमें मल्टीपल वैल्यूज़ हो [69:05] सकती हैं। तो मल्टीपल वैल्यूज़ तो नहीं [69:06] आएंगी। एक ही वैल्यू आएगी। एक तरीके का [69:08] एरे आएगा। तो उसमें सबसे पहले एरे को [69:10] टारगेट करने के लिए हम लिखेंगे ज़ीरो। और [69:12] उसके अंदर हमारे पास डाटाबेस के अंदर जो [69:14] सी फील्ड है उसका नाम है इमेज। हम इस तरह [69:16] से लिख देंगे। और इसके बाद हमारे पास सारा [69:19] पाथ बन जाएगा। इसी पाथ को मुझे रिमूव करना [69:21] है। मतलब कि इस फाइल को तो उसके लिए आपको [69:23] मालूम है कि उसके लिए मेथड आता है अनलिंक। [69:26] और इसके अंदर हम अपना वेरिएबल पास कर [69:28] देंगे फाइल पाथ। यह देखिए। तो सबसे पहले [69:31] मैंने क्या किया? सबसे पहले मैंने डाटाबेस [69:33] में से इमेज का नाम पिक किया है। यहां पर [69:35] एक गड़बड़ हुई है। मैं इसको ऊपर कोड कर [69:37] देता हूं यहां पर। [69:40] सबसे पहले मैंने इमेज का नाम पिक किया [69:42] डाटाबेस में से। फिर उसको इस पाथ में जाकर [69:45] पूरा एक नया कोड बना दिया है। यहां पर आप [69:47] देख रहे हैं। यहां पर बेसिकली पोस्ट नहीं [69:50] आएगा। यहां पर आएगा इमेज का पाथ। यह देखिए [69:52] जो मेरे को डाटाबेस से मिला है इमेज का [69:54] पाथ इस वेरिएबल में। इसमें सबसे पहले वाला [69:57] जो एरे है उसके अंदर जो इमेज का नाम आ रहा [69:59] है वही मुझे रिमूव करना है इस वाले पाथ [70:01] में से जाकर। तो मैंने पूरा इसका कॉनकट [70:03] करके एक स्ट्रिंग बना लिया है। पूरे पाथ [70:05] का पब्लिक फोल्डर। पब्लिक फोल्डर के अंदर [70:07] अपलोड्स उसके अंदर इमेज का नाम। यह हमारे [70:10] पास आ गया फाइल पाथ में जिसको मैंने जाकर [70:11] अनलिंक कर दिया। अनिक ने क्या किया है? इस [70:14] पर्टिकुलर फाइल को डिलीट कर दिया। उसके [70:16] बाद मैंने डाटाबेस में से एंट्री को रिमूव [70:18] किया है। और एज़ ए रिस्पांस क्योंकि हम [70:20] एपीआईज़ में काम कर रहे हैं। तो इसकी हर [70:22] काम के बाद मुझे एज़ ए रिस्पांस JSON डाटा [70:24] फॉर्मेट को सेंड करना है। तो यहां पर [70:26] मैंने ये एज़ ए रिस्पांस JSN का फॉर्मेट जो [70:29] है यूजर को सेंड कर दिया। तो यह मेरा पूरा [70:32] पोस्ट का सारा काम यहां पर कंप्लीट हो [70:34] चुका है। आप देख रहे हैं जिसके अंदर हमने [70:38] यहां पर सारे डाटा को पहले रीड किया है। [70:41] यहां पर स्टोर भी किया है। यूजर के डाटा [70:43] को अपडेट भी किया है। मतलब कि पोस्ट के [70:45] डाटा को शो भी किया है सिंगल पोस्ट को और [70:48] लास्ट में उसको रिमूव भी किया है। तो यह [70:50] सारा काम मेरा हो चुका है। [70:53] अब मैं इससे रिलेटेड जो एपीआई है उसको भी [70:55] क्रिएट कर लेता हूं। मतलब कि अपना राउट [70:56] को। तो उसके लिए मैं राउट कैसे बनाऊंगा? [70:58] तो इसके लिए मैं यहां पर लिखूंगा राउट। अब [71:02] देखिए यह मैंने एपीआई रिसोर्स राउट बनाया [71:04] था। तो उसके लिए मैं यहां पर स्पेशल एक [71:06] वर्ड लिखूंगा जिसका नाम होता है एपीआई [71:08] रिसोर्स। यह देखिए यह आपको सिर्फ तभी [71:10] लिखना है अगर आपने एपीआई रिसोर्स बनाया। [71:12] अगर आपने सिंपल रिसोर्स कंट्रोलर फाइल [71:14] बनाई है, तो आप यहां पे लिखेंगे रिसोर्स। [71:16] आप एपीआई फोल्डर के अंदर जहां अपना [71:18] कंट्रोलर बना रहे हैं, वहां पर आप सिंपल [71:19] रिसोर्स कंट्रोलर भी बना सकते हैं। मगर [71:21] मैंने बनाया है एपीआई रिसोर्स कंट्रोलर। [71:24] जिससे मुझे कोड को समझना भी आसान रहे। तो, [71:26] यहां पर अब मैं क्या करता हूं? अपने राउट [71:28] का नाम ले लेता हूं। तो हमारे राउट का नाम [71:29] रहेगा यहां पर पोस्ट जो हम यूआरएल बार में [71:32] लिखेंगे और इसके बाद मैं यहां पर लिखूंगा [71:34] अपने कंट्रोलर का नाम जिसका नाम है पोस्ट [71:37] कंट्रोलर यह देखिए और यहां पर मैं लिखता [71:40] हूं क्लास। ऐसा करने से होगा क्या? देखिए [71:43] हमारी ऊपर यह पोस्ट कंट्रोलर की फाइल भी [71:45] ऊपर इंक्लूड हो चुकी है। अगर आपके केस में [71:46] नहीं हो रही है तो आप इसे मैनुअली भी लिख [71:48] सकते हैं। अब इसके अंदर जितने भी हमने [71:50] मेथड्स बनाए हैं पोस्ट कंट्रोलर के अंदर [71:53] उसको असेस करने के लिए यूजर का लॉगिन होना [71:55] जरूरी है। तभी वह उनको असेस कर सकता है। [71:57] तो उसके लिए मैं इस तरह से इस मिडिल वेयर [71:59] को कॉपी करके यहां पे पास करूंगा। यह [72:02] देखिए कुछ इस तरह से। तो अंदर वाले किसी [72:04] भी मेथड को अगर मैं यूज़ करना चाहता हूं [72:06] तो मुझे यहां पर अपना टोकन भी पास करना [72:08] पड़ेगा। जो यह मैंने अलग-अलग दो राउट्स [72:11] बनाए हैं। दोनों में ही मिडिल वेयर सेम [72:12] यूज हो रहा है। आउट सटम तो मैं इसका एक [72:15] ग्रुप भी बना सकता हूं। ग्रुप कैसे बनाते [72:17] हैं वो भी मैं आपको बता देता हूं। [72:21] यह देखिए मैंने यहां पर लिखा राउट मिडिल [72:23] वेयर और उसके अंदर पास कर दिया आउट सटम और [72:26] इसको बनाया ग्रुप फंक्शन। इस फंक्शन के [72:28] अंदर आकर मेरे को यह अपने दोनों राउट पास [72:30] कर देने हैं। [72:32] यह देखिए। और लास्ट में जो मैंने यहां पर [72:34] मिडिल वेयर पास किया था, इसको मुझे अब [72:36] लगाने की कोई जरूरत नहीं है। [72:40] यह देखिए। तो, यह मेरा बन गया STM का आउट [72:42] से रिलेटेड ग्रुप जिसके अंदर मैं मल्टीपल [72:45] लिंक पास कर सकता हूं। जो भी मैं चाहता [72:46] हूं कि जब यूजर लॉगिन हो तभी उन पेजेस को [72:49] असेस कर पाए। यही सेम काम हमने ऑथेंटिकेशन [72:51] वाली वीडियो में भी देखा था। तो यहां पर [72:53] मैंने इस फाइल को सेव किया। अब एक बार मैं [72:55] आपको क्या करता हूं? एक बार मेरे पास जो [72:57] भी ये रिसोर्स राउट बने हैं, इनके पूरे [73:00] यूआरएल आपको चेक करा देता हूं। तो उसके [73:01] लिए मैं टर्मिनल को ओपन करता हूं और यहां [73:04] पर जाकर एक नया टर्मिनल क्रिएट करता हूं। [73:06] और यहां पर लिखता हूं पीएp आर्टिसन [73:10] राउट कॉलन लिस्ट। मैं पूरे राउट की लिस्ट [73:14] देखना चाहता हूं। जो भी मेरे प्रोजेक्ट के [73:16] अंदर राउट्स हैं। यह देखिए यहां पर पूरी [73:18] लिस्ट आ चुकी है। तो देखिए जो भी हमारे [73:20] पोस्ट से रिलेटेड राउट्स हैं। एक तो लॉग [73:21] इन और लॉगउ है और साइन अप भी है। यहां पर [73:24] एपीआई के अंदर एक पोस्ट से रिलेटेड सारे [73:25] राउट्स बन चुके हैं। क्योंकि यह एक [73:27] रिसोर्स राउट्स हैं। तभी इतने सारे लिंक्स [73:29] अपने आप बन चुके हैं। तो यहां पर आपको दिख [73:31] भी रहा है इंडेक्स के लिए है, स्टोर के [73:33] लिए है, शो के लिए, अपडेट के लिए और [73:35] डिस्ट्रॉय के लिए। और सभी से रिलेटेड जो [73:37] एचटीटीवी के मेथड्स हैं, वह भी यहां पर [73:39] दिए हुए हैं। जब भी आप डाटा को शो करना [73:41] चाहते हैं, तो यहां पर गेट मेथड का यूज [73:43] करेंगे। जब आप डाटा को स्टोर करना चाहते [73:45] हैं, तो आप यहां पे पोस्ट मेथड का यूज़ [73:47] करेंगे। सारे डाटा को शो करने के लिए भी [73:49] गेट मेथड का यूज़ है। अपडेट के केस में हम [73:52] यहां पर इस तरह का राउट लिखेंगे और यहां [73:54] पर पुट का यूज़ करेंगे। और डिलीट मेथड के [73:56] लिए हम डिलीट मेथड का यूज़ करेंगे जो [73:58] एचटीटीp का मेथड होता है। यह देखिए। अब [74:01] इसके बाद मैं अपना पोस्टमैन सॉफ्टवेयर ओपन [74:03] कर लेता हूं। देखिए मैं यहां पर आ चुका [74:05] हूं अपने पोस्टमैन सॉफ्टवेयर में। अब सबसे [74:07] पहले मुझे लॉग इन करना है। तो मैं अपने [74:08] लॉग इन वाले पेज में जाता हूं। यह देखिए [74:10] यह लॉग इन का राउट है। यहां पर मैंने ईमेल [74:13] और पासवर्ड पहले से ही डाल रखा है। यह [74:14] स्टोर ही रहता है इसके अंदर। तो यह फॉर्म [74:16] डाटा के अंदर है। अब यहां पर सबसे पहले [74:18] मैं लॉग इन कर लेता हूं। तो मैं यहां पर [74:19] सेंड करता हूं। यह देखिए। अब यहां पर एक [74:22] नया टोकन बन के आ चुका है। यह मेरे [74:24] डाटाबेस में भी सेव हो चुका है। इस टोकन [74:26] को आपको कॉपी कर लेना है। क्योंकि इसकी [74:29] जरूरत अब अंदर सारे पोस्ट वैलिड राउट्स के [74:31] अंदर पड़ेगी। तो अब मैं यहां पर एक नया [74:33] राउट क्रिएट करता हूं। मैं यहां पर जो यह [74:35] लॉगउ वाला बनाया था, इसको मैं रिमूव कर [74:37] देता हूं। इसकी अब कोई जरूरत नहीं है। [74:38] इसको सेव करना चाह तो कर सकते हैं फ्यूचर [74:41] यूज़ के लिए। अब इसके अंदर सबसे पहला हमारा [74:44] मेथड था इंडेक्स मेथड जिसके अंदर हम सारे [74:46] डाटा को रीड करना चाहते हैं। तो उसके लिए [74:48] मेरे को यहां पर गेट ही लिखना है। और यहां [74:51] पर अपना राउट ले लेना है। जैसे मैंने यह [74:53] ले लिया। एपीआई के अंदर मुझे चेंज कर देना [74:55] है पोस्ट। [74:56] यहां पर गेट ही रखना है क्योंकि मुझे सारे [74:58] डाटा को रीड करना है। अब इसके अंदर मुझे [75:01] साथ में टोकन भी पास करना है। तो उसके लिए [75:02] मैं जाऊंगा ऑथराइजेशन में। यहां पर [75:04] सेलेक्ट करता हूं बियर टोकन और यहां पे [75:07] पहले से एक टोकन आ रहा है। इसको मैं रिमूव [75:09] करके नया टोकन पेस्ट कर देता हूं। यह [75:11] देखिए थ्री नंबर का टोकन। अब मैं यहां पर [75:13] सेंड पे क्लिक करता हूं। तो देखिए यहां पर [75:16] आ रहा है खाली। मतलब कि अभी हमारे पास कोई [75:19] भी डाटाबेस के अंदर पोस्ट नहीं है। तो [75:21] सबसे पहले हम यहां पर एक नई पोस्ट क्रिएट [75:24] कर लेते हैं। तो उसके लिए मैं एक नए टैब [75:25] में जाता हूं और यही वाला यूआरएल यहां से [75:29] कॉपी कर लेता हूं। [75:32] बस यहां पर मुझे मेथड चेंज कर देना है। [75:34] यहां पे करना है पोस्ट। यह सब आप अपने [75:36] राउट लिस्ट नाम की जो आर्टिजन की कमांड है [75:39] उसमें जाके चेक कर सकते हैं कि गेट यूज़ [75:41] करना है या पोस्ट। तो यहां पर मैंने पोस्ट [75:43] किया क्योंकि मुझे डाटा को सेव करना है। [75:44] अब सबसे पहले मैं ऑथराइजेशन के अंदर जाकर [75:47] यहां पर टोकन सेलेक्ट कर लूंगा। बियरर [75:48] टोकन और यह मेरा टोकन पहले से ही जो मैंने [75:51] डाला है उस वो आ रहा है यहां पर। अब मेरे [75:53] को बॉडी का कंटेंट डालना है जो भी मुझे [75:55] अपने डाटाबेस में सेव करना है। यहां पे [75:57] मैं सेलेक्ट करता हूं फॉर्म डाटा। उसके [75:59] बाद यहां पर मैं फील्ड्स ले लेता हूं। तो [76:02] हमारी फील्ड्स यहां पर आप चेक कर सकते हैं [76:04] कौन-कौन सी फील्ड्स हैं। मैं आपको [76:08] शो कर देता हूं। यह देखिए स्टोर के केस [76:10] में हमारे पास तीन फीड्स हैं। टाइटल है, [76:12] डिस्क्रिप्शन है और इमेज है। तो यही तीनों [76:15] फील्ड्स मैं ले लेता हूं। [76:20] ये देखिए। अब टाइटल और डिस्क्रिप्शन का [76:23] यहां पर जो डाटा टाइप है वो टेक्स्ट ही [76:25] रखनी है। मगर इमेज के केस में यहां पर [76:27] चेंज कर देनी है। यहां पर कर देनी है [76:28] फाइल। क्योंकि मैं यहां पर फाइल अपलोड [76:30] करना चाहता हूं। तो यहां पर मैं लिख देता [76:32] हूं पोस्ट नंबर वन। आप कुछ भी टाइटल रख [76:35] सकते हैं। [76:37] और यहां पर मैंने लिख दिया है हियर इज अ [76:39] डेस्कटॉप पोस्ट वन। अब यहां पर इमेज पे [76:41] फाइल अपलोड करनी है। तो मैं इसके अंदर [76:43] जाऊंगा और यहां पर लिंक करूंगा न्यू फाइल [76:46] फ्रॉम लोकल मशीन। तो मैं यहां पर डेस्कटॉप [76:50] पे जाता हूं। इमेजेस में और यहां पर कुछ [76:54] इमेजेस हैं। मैं यहां पर यह इमेज सेलेक्ट [76:55] कर लेता हूं। यह देखिए। अब यहां पर यह [76:58] इमेज को मैं यहां से अपलोड कर देता हूं। [77:02] यहां पर एक एरर आ रहा है। हम प्रव्यू में [77:04] जाकर देख सकते हैं कि एग्जैक्ट एरर क्या [77:05] है? यहां पर आ रहा है इंटरनल सर्वर एरर। [77:10] यहां पे जो ये एरर है ये बेसिकली इमेज से [77:12] रिलेटेड है। यह कह रहा है डज़ नॉट हैव ए [77:15] डिफ़ॉल्ट वैल्यू। इस तरह का जब लारावल में [77:16] एरर आता है तो मोस्टली केसेस होते हैं कि [77:19] हमने जो पोस्ट की जो मॉडल फाइल है वहां पर [77:21] इस कॉलम के बारे में बताया नहीं कि [77:24] गार्डेड है कि नहीं है। और यहां पर मैं [77:26] जाता हूं मॉडल्स के अंदर पोस्ट मॉडल फाइल [77:28] के अंदर। ये देखिए। यहां पर फी लेबल के [77:31] अंदर दो ही फील्ड्स डाली हैं। टाइटल और [77:33] डिस्क्रिप्शन। एक फील्ड और ले लेता हूं [77:35] जिसका नाम मैं ले रहा हूं इमेज। तो यहां [77:37] पर मैंने फाइल को सेव किया और यहां पर आया [77:40] पोस्टमैन में। अब इस फॉर्म को दोबारा से [77:42] सबमिट करता हूं सेंड पे क्लिक करके। यह [77:45] देखिए यहां पर आप प्रीटी पे क्लिक करेंगे [77:47] तो आपको प्रॉपर jसन फॉर्मेट दिखेगा। यहां [77:50] पर आपको दिख रहा है कि हमारा डाटा जो है [77:51] सक्सेसफुली क्रिएटेड हो चुका है। टाइटल भी [77:54] आ रहा है यहां पर। डिस्क्रिप्शन है। इमेज [77:56] भी अपलोड हो चुकी है। एक डाटा मैं और भी [77:58] यहां पर सेव कर देता हूं। [78:02] और यहां पर इमेज को चेंज कर देता हूं। इस [78:04] पे क्लिक करके यहां पर डिलीट कर दूंगा। और [78:06] नई इमेज अपलोड कर देता हूं। [78:10] यहां पर सेंड पे क्लिक करता हूं। और यह [78:12] देखिए यह पोस्ट नंबर टू भी क्रिएटेड हो [78:15] चुकी है। अब मैं एक बार आपको डाटाबेस चेक [78:17] कराता हूं। डाटाबेस से पहले जो हमने पिछले [78:20] टैब में एपीआई क्रिएट की थी यहां पर पोस्ट [78:22] इसको भी चेक करा देता हूं। तो यहां पर यह [78:24] सारा डाटा फैच करके लाएगी। पहले तो यहां [78:26] पर कुछ भी नहीं आ रहा था। मगर अब यहां पर [78:28] दो पोस्ट फैच हो के आ जाएंगी। यह देखिए [78:31] यहां पर पोस्ट नंबर वन आ चुकी है। और इसी [78:33] के साथ पोस्ट नंबर टू भी यहां पर दिख रही [78:35] है। [78:37] मैं यहां डाटाबेस में आ गया। मैं वापस से [78:39] जाता हूं अपने डाटाबेस में sm एपीआई और [78:42] यहां पर पोस्ट पे क्लिक करता हूं। तो आप [78:44] यहां पर देख रहे हैं कि यहां पर दो पोस्ट [78:46] क्रिएट हो चुकी हैं। पोस्ट नंबर वन, पोस्ट [78:48] नंबर टू। उनकी इमेज भी आ रही हैं। [78:51] मैं यहां पर आपको जहां इमेजज़ अपलोड होती [78:53] हैं, वह भी सारा फोल्डर चेक करा देता हूं। [78:56] यहां पर एक फोल्डर होता है जिसका नाम होता [78:57] है पब्लिक। अब पब्लिक के अंदर यहां पर आप [79:00] देख रहे हैं एक फोल्डर आ चुका है अपलोड्स [79:01] नाम से। यह फोल्डर पहले नहीं था। इसके [79:04] अंदर देखो तीन इमेजज़ भी आ चुकी हैं। मैंने [79:06] पहले भी एक बार ट्राई किया था, तो इमेज [79:08] अपलोड हो गई थी। मगर डाटा सेव नहीं हुआ [79:10] था। तो, वह इमेज भी आपको दिखा रहा है यहां [79:12] पर। [79:14] अब इसके बाद मैं क्या करता हूं? इसके बाद [79:16] यहां पर [79:22] सिंगल पोस्ट को चेक करने के लिए भी अपना [79:25] राउट चेक कर लेता हूं यहां पर। मैं उसके [79:27] लिए यहां पर आता हूं। [79:30] और यहां पर स्लैश डाल के मैं अपना पोस्ट [79:32] का नंबर दूंगा। आपको कौन सी नंबर वाली [79:34] पोस्ट देखनी है। वन देखनी है टू। तो देखिए [79:36] जैसे मैं टू नंबर की पोस्ट देखना चाहता [79:38] हूं। उसके बाद मैं यहां पर आकर ऑथराइजेशन [79:41] में जाऊंगा। यहां पर टोकन चेंज करूंगा [79:43] बियरर टोकन। यह देखिए वही टोकन आ रहा है। [79:47] अब मुझे बॉडी के अंदर कुछ भी पास नहीं [79:49] करना क्योंकि मुझे सिर्फ डाटा को रीड करना [79:51] है। तभी मैंने यहां पर सेट किया है गेट। [79:52] तो यह मेरे पास सिंगल पोस्ट का डाटा ले [79:54] आएगा पोस्ट नंबर टू का। यह देखिए यहां पर [79:57] पोस्ट नंबर टू भी आ चुकी है। [80:02] अब अगर इसे मुझे मॉडिफाई करना है तो मैं [80:04] क्या करूंगा? मैं इसी यूआरएल को कॉपी कर [80:06] लेता हूं। [80:08] नए टैब में आता हूं। [80:10] यहां पर इसे पेस्ट करता हूं। सबसे पहले [80:12] मुझे यहां पर चेंज कर देना पोस्ट। [80:15] आप यहां पर सोच रहे होंगे यहां पर हम [80:17] अपडेट के लिए तो पुट यूज़ करते हैं। मगर [80:19] पोस्ट क्यों कर रहे हैं? देखिए आप यहां पर [80:21] पोस्ट लिखेंगे। मगर यहां पर आप हेडर के [80:23] अंदर जाकर जो हेडर नाम का टैब है उसमें [80:25] पास करेंगे पुट। मैं आपको करके दिखाता [80:28] हूं। तो इसके लिए सबसे पहले मैं क्या करता [80:29] हूं? यहां पर ऑथराइजेशन में जाता हूं। और [80:32] यहां पर बियर टोकन चेंज करूंगा। हेडर में [80:35] जाकर यहां पर लिखूंगा मेथड पुट। तो मेथड [80:39] आपने सिंपल नहीं लिखना। यहां पर लिखना है [80:41] अंडरस्कोर मेथड। यह देखिए यह पोस्टमैन का [80:44] तरीका है। मगर एक्चुअल कोड में हम ऐसे [80:46] नहीं लिखते हैं। और यहां पर वैल्यू में दे [80:48] देंगे पुट। क्योंकि हम डाटा को अपडेट करने [80:51] वाले हैं। अब इसके बाद मैं बॉडी में आऊंगा [80:53] और अपनी फॉर्म के डाटा में चला जाऊंगा। अब [80:55] यहां पर मैं अपनी किस फील्ड को अपडेट करना [80:57] चाहता हूं वो मैं बताऊंगा। तो देखिए जैसे [80:59] मैं यहां पर एक टाइटल ले लेता हूं। [81:01] डिस्क्रिप्शन [81:03] और उसके साथ में इमेज। अब यहां पर आकर [81:06] टाइटल में मैं लिख देता हूं न्यू टाइटल और [81:10] यहां पर लिख देता हूं न्यू डिस्क्रिप्शन [81:14] डाटा और इमेज मैं अगर चेंज करना चाहता हूं [81:17] तो यहां पर लिखूंगा फाइल और यहां पर जाकर [81:20] न्यू फाइल अपलोड कर देता हूं। यह देखिए। [81:24] अब मैंने सारी फील्ड्स के डाटा को यहां पे [81:25] चेंज कर दिया है। और यहां पर आईडी आ रहा [81:28] है कि किस आईडी को मेरे को अपडेट करना है। [81:30] उस आईडी का नंबर है टू। और यहां पर हेडर [81:33] आपको जरूर पास करना है। हेडर में लिखना है [81:35] पुट क्योंकि हम अपडेट कर रहे हैं। ऊपर [81:37] मेथड रहेगा पोस्ट और ऑथराइजेशन में यहां [81:40] पर टोकन ले लेना है। यह वाला। अब मैं यहां [81:42] पर सेंड पे क्लिक करता हूं। [81:45] यहां पर एक एरर आ चुका है। मैं यहां पर [81:47] प्रीव्यू में देखता हूं। यहां पर देखिए एक [81:50] एरर का मैसेज शो कर रहा है। तो यहां पर यह [81:52] एरर दे रहा है जो है वो है पोस्टमैन इज़ [81:55] नॉट सपोर्टेड। देखिए यहां पर हमने पोर्ट [81:57] लिया है। तभी यह एरर मैसेज दे रहा है [81:58] पोस्ट का ही। यह अभी भी पोस्ट ही ले रहा [82:00] है इसको। तो यह मैंने मेरे को लग रहा है [82:02] मैंने हेडर के अंदर पास की। यहां पर नहीं [82:04] करेंगे। यहां पर हटा देता हूं। इसको हम [82:06] बॉडी में पास करके देख लेते हैं। यहां पर [82:08] तो यहां पर मैं देता हूं मेथड और इसकी [82:11] वैल्यू यहां पर ले लेता हूं पुट। यह देखिए [82:14] आपको फॉर्म डाटा के अंदर इसी मेथड को यहां [82:16] पर डिक्लेअर करना है। अब यहां पर मैं [82:18] दोबारा से सेंड पे क्लिक करता हूं। अब [82:21] यहां पे मैसेज चेंज हो चुका है। इसका मतलब [82:22] हमने ठीक लिखा है। मगर मैसेज चेंज है। [82:24] यहां पर एरर दूसरा आ रहा है। और वह कह रहा [82:26] है इंटरनल सर्वर एरर। प्रॉपर्टी इमेज डज़ [82:29] नॉट एकिस्ट इन दिस कलेक्शन। [82:32] यहां पर आता हूं। दोबारा से कोड देखता [82:33] हूं। [82:36] देखिए एक चीज तो है यहां पर। यहां पर [82:39] मैंने नीचे भी एक वेरिएबल लिया पोस्ट और [82:41] सेम वेरिएबल इधर भी लिया पोस्ट। एक तो [82:43] इसका नाम चेंज कर देता हूं। इसका रीनेम कर [82:46] दिया पोस्ट इमेज। अब जहां-जहां पर भी [82:48] पोस्ट लिया था ऊपर वहां पर चेंज कर देता [82:51] हूं। [82:55] दूसरा इसमें सबसे पहले क्या करते हैं? जो [82:57] भी हमारी इमेज यहां पर अपलोड हो रही है [82:59] यहीं से मेरे को लग रहा है एरर आ रहा है। [83:01] इसको रिटर्न करके देखते हैं। [83:04] क्योंकि यहां पर मैंने वेयर कंडीशन नहीं [83:06] लगाई है। वेयर लगाना जरूरी था। एक बार चेक [83:08] कर लेते हैं। यहां पर मैंने फाइल को सेव [83:09] किया। मैं यहां पर आया और दोबारा से सेंड [83:12] करता हूं। [83:14] और यह देखिए यहां पर रिस्पांस में एक जसन [83:17] आई है। यहां पर आप देख रहे हैं। यहां पर [83:19] दो आईडीज आ चुके हैं। पोस्ट नंबर वन का भी [83:21] आ रहा है। पोस्ट नंबर टू का भी आ रहा है। [83:23] क्योंकि यहां पर मैंने सेलेक्ट के साथ [83:24] वेयर मेथड का यूज़ नहीं किया है। तो उसका [83:26] यूज़ भी मैं कर लेता हूं। [83:30] इसको बेसिकली मैं नेक्स्ट लाइन में कर [83:32] लेता हूं। [83:34] और यहां पर लिखता हूं आईडी डॉलर आईडी। [83:39] यहां से हमारे को यह वैल्यू मिल रही है। [83:40] एक बार मैं ऊपर चेक कर लेता हूं। मैंने [83:42] ऊपर भी ऐसे ही लिखा था। ये देखिए यहां पर [83:44] भी ऐसे ही लिखा है। ये हमारे को ये आईडी [83:45] मिल रही है अपडेट के केस में। इसी को मैं [83:48] यहां से पास कर रहा हूं। अभी मैं इसी को [83:49] रिटर्न करके देखता हूं कि हमारे पास अब [83:51] क्या आता है। मैं यहां पर आया दोबारा से [83:53] सेंड करता हूं। यह देखिए अब हमारे पास [83:56] सिंगल डाटा आया है। मतलब कि सिंगल पोस्ट। [83:58] यहीं से गड़बड़ हो रही थी। अब इसमें से [84:00] मेरे को यह वाली इमेज चाहिए। तो इसके लिए [84:03] मैं यहां पर इस एरे में जाऊंगा ज़ीरो। और [84:06] उसके बाद हमारे कॉलम का नाम है इमेज। फाइल [84:08] को सेव किया। यहां आया सेंड पे क्लिक। और [84:12] यह देखिए इमेज का नाम आ रहा है। तो मेरे [84:14] को क्या करना है? मेरे को एग्जैक्ट यही [84:16] वाला कोड यहां पर भी डाल देना है। [84:23] तो यहां से इस लाइन को रिमूव कर देता हूं। [84:25] तो जो भी हमारे को डाटा मिलेगा उसी सेम [84:28] इमेज को पहले मैंने चेक करना है। यहां कोई [84:29] वैल्यू नल तो नहीं है। खाली तो नहीं है। [84:31] अगर उसके अंदर कोई भी वैल्यू होगी तो पहले [84:33] हम उस इमेज का पाथ उठाएंगे और उसको यहां [84:35] से अनलिंक कर देंगे। मतलब कि उसको इमेज को [84:38] डिलीट कर देंगे फोल्डर में से। उसके बाद [84:40] हमारी नई इमेजज़ जो अपलोड की है उसको यहां [84:42] से अपलोड करेंगे। तो यहां से मैंने फाइल [84:44] को सेव किया। मैं यहां पर आया। अब मैं [84:47] दोबारा से इस फॉर्म को जो मैंने फिल कर [84:48] रखा है इसको यहां से सेंड करता हूं। और यह [84:52] देखिए अब यह डाटा अपडेट हो चुका है। यहां [84:54] पर स्टेटस आ गया ट्रू। मैसेज भी आ चुका है [84:56] और पोस्ट भी आ चुका है। अब इसके बाद हमारा [84:59] लास्ट काम है कि हमने लास्ट वाली एपीआई [85:01] चेक करनी है जिसमें हम डाटा को रिमूव करने [85:03] वाले हैं। तो उसके लिए मैं यहां पे क्या [85:04] करता हूं? इसी यूआरएल को कॉपी कर लेता [85:06] हूं। [85:08] और यहां पर जाकर इसको पेस्ट कर देता हूं। [85:12] इससे पहले जो अभी हमने डाटा अपडेट किया है [85:14] उसको मैं आपको डाटाबेस में चेक भी करा [85:16] देता हूं। देखिए मैं यहां पर आया फाइल को [85:18] रिफ्रेश किया और यह देखिए यहां पर डाटा [85:21] अपडेट हो चुका है। यहां पर नई इमेज भी आ [85:24] चुकी है। [85:28] अब मैं यहां पर आया पोस्टमैन में। अब यहां [85:30] पर मुझे डाटा को डिलीट करना है। अब यहां [85:32] पर मुझे गेट की जगह पे यहां पे या तो मैं [85:34] पोस्ट ले सकता हूं और बॉडी में जाके मेथड [85:36] पास कर सकता हूं। जैसे मैंने अभी आपको [85:38] दिखाया या यहां पर सीधा डिलीट भी यूज़ कर [85:40] सकता हूं। तो मैंने ऊपर डिलीट ही ले लिया [85:42] और किस पोस्ट को यहां पर डिलीट करना है [85:44] आईडी नंबर वन को या फिर टू को। तो यहां पर [85:47] मैं वन नंबर की पोस्ट को डिलीट करना चाहता [85:49] हूं। तो यहां पर मैं लिख देता हूं वन। अब [85:52] मैं यहां पर जा के सेंड पे क्लिक करूंगा। [85:55] और यहां पर एक एरर आ चुकी है। मैं प्रव्यू [85:59] पर जाता हूं। यहां पर एरर मैसेज शो हो रहा [86:01] है। राउट लॉग इन नॉट डिफाइंड। इस एरर [86:04] मैसेज का मतलब है कि आपने लॉग इन नहीं कर [86:06] रखा। लॉगिन हुआ यूजर ही पोस्ट को रिमूव कर [86:08] सकता है। तो उसके लिए मैं यहां पे जाऊंगा [86:10] ऑथराइजेशन में और यहां पर अपना टोकन पास [86:13] कर दूंगा। यह देखिए यह टोकन ही हमारा [86:16] लॉगिन होने का सबूत है कि हम लॉगिन हैं। [86:18] अब हम इस राउट को असेस कर सकते हैं। तो [86:21] यहां पर मैंने क्या किया? सेंड पर क्लिक [86:23] किया। [86:25] और यह हमारा डाटा तो रिमूव हो चुका है। अब [86:27] यहां पर एक एरर शो हो रहा है। यह कह रहा [86:29] है इस नाम की कोई फाइल नहीं है। मैंने अभी [86:31] फोल्डर को ओपन किया है। जैसे यहां पर लिखा [86:33] है अपलोड्स के अंदर स्लैश नहीं लगा हुआ। [86:35] यह देख रहे हैं आप। तो इसी का मैसेज आ रहा [86:38] है। तो मैं यहां पर आता हूं। स्क्रॉल करता [86:39] हूं। और यह देखिए यहां पर जब मैंने [86:42] अपलोड्स लगाया। यहां पर भी मुझे बाद में [86:44] स्लैश देना है। यह देखिए। यहां पर मैंने [86:46] फाइल को सेव किया। अब मैं आपको दूसरा डाटा [86:49] रिमूव करके दिखाता हूं। तो यहां पर पोस्ट [86:51] नंबर टू दे देता हूं। और यहां पर मैं सेंड [86:54] पर क्लिक करता हूं। और यह देखिए यह मेरा [86:58] डाटा सक्सेसफुली रिमूव हो चुका है। आप [87:00] यहां पर देख रहे हैं। [87:02] तो हमारे डाटाबेस में से एक डाटा रिमूव हो [87:05] चुका है। मैं आपको एक बार चेक भी करा देता [87:06] हूं। यह देखिए मैं यहां पर आया। फाइल को [87:08] रिफ्रेश किया। अब यहां पर आप देख रहे हैं [87:10] कि यहां पर एक ही डाटा आ रहा है। पोस्ट [87:13] नंबर वन। इसको भी मैं आपको रिमूव करके [87:16] दिखाता हूं। यहां पर आया और आईडी नंबर ऊपर [87:19] पास कर देता हूं वन। अब यहां पर मैं क्लिक [87:21] करता हूं सेंड पर [87:24] और यह देखिए यह डाटा भी हमारा रिमूव हो [87:26] चुका है। मैं डाटाबेस में आया। फाइल को [87:28] रिफ्रेश किया और यह देखिए अब हमारी पोस्ट [87:32] में कोई भी डाटा नहीं है। तो यहां पर आपने [87:34] देखा कि कैसे हमने एपीआई का यूज़ करके [87:36] पूरा क्रूड सिस्टम बना लिया है। अब यह [87:39] हमारा कोड काफी लेंथी है। आप देख रहे [87:41] होंगे। यह काफी आपको कंफ्यूज कर सकता है। [87:44] हम इस कोड को छोटा कर सकते हैं। देखिए, [87:46] हमने बार-बार हर मेथड के अंदर रिस्पांस को [87:49] सेंड किया है। या तो उसका स्टेटस ट्रू है [87:51] या फिर फॉल्स। बस उसके अंदर मैसेज ही अलग [87:54] होता है या डाटा अलग हो सकता है। तो ऐसे [87:56] केसेस में हम क्या कर सकते हैं? हम एक [87:58] कॉमन कंट्रोलर की फाइल बना सकते हैं। जो [88:01] इसके अंदर हम यूज़ कर सकते हैं। या कोई [88:04] अपनी हेल्पर क्लास भी बना सकते हैं। उसको [88:06] भी मैं आपको एक बार बना के दिखा देता हूं। [88:08] तो उसके लिए मैं यहां पे क्या करूंगा? मैं [88:10] टर्मिनल को ओपन करता हूं और यहां पर एक नई [88:13] कंट्रोलर की फाइल बनाता हूं जिसका नाम है [88:15] बेस कंट्रोलर [88:20] और यह एपीआई फोल्डर के अंदर ही बनेगी। [88:25] यह देखिए यह फाइल बन चुकी है। इस फाइल को [88:28] मैं ओपन भी कर लेता हूं। यहां पर यह देखिए [88:30] खुल गया। अब यहां पर मैं दो मेथड्स बना [88:33] लेता हूं। एक तो है सेंड रिस्पांस और एक [88:35] एरर के केस में आएगा सेंड एरर। तो दोनों [88:37] मेथड्स पहले मैं क्रिएट कर लेता हूं [88:42] और इस मेथड के अंदर दो पैरामीटर्स पास कर [88:44] देता हूं। एक तो है रिजल्ट। जब भी हम इसे [88:47] कॉल करेंगे तो यहां पर एक डाटा भेजेंगे [88:50] जिसको हम अंदर यूज़ करेंगे। और यहां पर आ [88:53] जाएगा यूजर का मैसेज जो शो करना चाहता है। [88:57] अब यह मेथड बेसिकली एक रिस्पांस ही सेंड [89:00] करेगा ताकि हमें बार-बार वह कोड ना लिखना [89:02] पड़े। [89:04] देखिए सक्सेस के केस में आ जाएगा यहां पर [89:06] ट्रू। [89:07] एक मैं ले लेता हूं डाटा के लिए और एक मैं [89:10] ले लेता हूं यूजर के मैसेज के लिए। [89:13] यहां पर जो भी हमारे पास यूजर डाटा भेजेगा [89:16] उसको मैं यहां से सेट कर देता हूं। और जो [89:19] भी मैसेज आएगा हमारे पास इस वेरिएबल में [89:22] इसको मैं यहां पे सेट कर देता हूं। और [89:25] लास्ट में जब भी हम इस मेथड को कॉल करेंगे [89:27] जिसका नाम है सेंड रिस्पांस। यह रिटर्न [89:29] करेगा jसन। तो रिटर्न में मैं लिखूंगा [89:32] रिस्पांस [89:34] जेसन। जसन में दो पैराटर्स आएंगे। सबसे [89:37] पहले आ जाएगा हमारा यह रिस्पांस [89:40] जिसको jसन मेथड ऑटोमेटिकली jसन में [89:43] कन्वर्ट कर देगा। और सेकंड पैरामीटर में [89:45] हम यहां पर उसका रिस्पांस कोड सेंड कर [89:47] देंगे। तो मैं लिख रहा हूं 200। जब भी [89:49] सक्सेस रेट होगा तो यही मेथड कॉल होगा। और [89:51] जब एरर आएगी तब हम इसी का कॉपी कर लेते [89:54] हैं। एक मेथड और बना लेते हैं। उसका नाम [89:57] मैं रख देता हूं सेंड एरर। [90:01] इसमें भी हमारे पास एक मैसेज आएगा और एक [90:03] एरर का पूरा जो भी रिस्पांस आएगा वह भी हम [90:05] यहां पर एक्सेप्ट करेंगे। तो उसके लिए मैं [90:07] यहां पर वेरिएबल ले लेता हूं एरर यहां पर [90:10] एरर मैसेज [90:12] जिसके अंदर बेसिकली बहुत सारा डाटा आने [90:14] वाला है। तो इसके लिए मैं इसको एरे बना [90:16] लेता हूं पहले से ही। यह एक एरे एम्प्टी [90:18] एरे और यहां पर जो भी एरर का कोड है उसके [90:21] लिए भी यहां पर एक वेरिएबल ले लेता हूं। [90:23] तो देखिए जैसे मैं यहां पर रिस्पांस कोड [90:25] के लिए एक कोड ले रहा हूं। कोड नाम का एक [90:26] वेरिएबल। इसकी डिफॉल्ट वैल्यू सेट कर देता [90:28] हूं। जैसे 404 अगर यूजर कोई और मैसेज का [90:32] कोड सेंड करेगा तो वही यहां पर आकर लग [90:34] जाएगा। तो अब अंदर आकर मुझे क्या करना है? [90:37] यहां पर सक्सेस में [90:39] यहां पर फॉल्स सेट कर देना है। और यहां पर [90:42] डाटा कुछ नहीं होगा। और मैसेज में मैं [90:45] यहां पर एरर शो कर दूंगा। यह एरर मैं यहां [90:47] से कॉपी करता हूं। यहां पर पेस्ट। अब जो [90:50] यह हमारा एरर मैसेज है जो लाराव अपनी तरफ [90:52] से देता है। यहां पे तो हमारा खुद का [90:54] मैसेज आएगा। अब जो लाराव अपनी तरफ से [90:56] मैसेज देगा वह ऑप्शनल होंगे। तो उसके लिए [90:59] मैं यहां पर अलग से कंडीशन बनाता हूं। [91:02] पहले चेक करूंगा कि इसके अंदर कोई वैल्यू [91:03] है कि नहीं। अगर यह एंप्टी नहीं है डॉलर [91:07] एरर मैसेज तो ये इफ स्टेटमेंट के अंदर आ [91:11] जाएगा। और इसके अंदर जो यह हमारा रिस्पांस [91:14] है इसमें एक की ले लेता हूं। जैसे हमने दो [91:17] कीज़ ऊपर ली हैं सक्सेस और मैसेज। यहां पर [91:19] ये एक ऑप्शनल की ले रहा हूं जिसका नाम [91:21] होगा डाटा। अगर इसके अंदर कोई वैल्यू आएगी [91:24] तब हम वही वैल्यू यहां पर सेट कर देंगे जो [91:26] हमारे पास इस वेरिएबल के अंदर आएगी। [91:29] यह देखिए। तो पहले मैंने चेक किया इसके [91:32] अंदर वैल्यू एंप्टी तो नहीं है। अगर वो [91:33] एंप्टी नहीं है तभी यह की बनेगी और इसके [91:36] अंदर हम एरर का मैसेज शो कर देंगे। और [91:38] रिटर्न में यही हम jसन रिटर्न करने वाले [91:41] हैं। और जो कोड होगा वह यही कोड होगा जो [91:44] यूजर सेंड करेगा। अगर वह कुछ भी सेंड नहीं [91:46] करता तब यहां पर सेट हो जाएगा 44। [91:51] यह देखिए। अब मैंने क्या किया? मैंने यहां [91:53] पर रिस्पांस के लिए दो अलग से मेथड्स बना [91:56] लिए। अब जो यह मैंने कंट्रोलर की फाइल [91:58] बनाई है बेस कंट्रोलर, इसको मुझे यूज़ करना [92:00] है अपनी पोस्ट कंट्रोलर के अंदर। अब तक हम [92:02] क्या कर रहे थे? जो हमारा पोस्ट कंट्रोलर [92:04] था, वो एक्सटेंड करता था कंट्रोलर फाइल [92:06] को। मगर अब यह एक्सटेंड करेगा बेस [92:08] कंट्रोलर को। और बेस कंट्रोलर किसको [92:10] एक्सटेंड करेगी? कंट्रोलर को। मतलब कि हम [92:13] बेस कंट्रोलर इन्हहेरिट कर रही है [92:15] कंट्रोलर क्लास को। और आगे हमारी पोस्ट [92:17] कंट्रोलर इन्हहेरिट करेगी बेस कंट्रोलर [92:19] को। तो यहां पर मैं लिख देता हूं बेस [92:22] कंट्रोलर। जैसे ही मैं इस पर क्लिक [92:24] करूंगा, अब ये फाइल मेरे को ऊपर इंक्लूड [92:26] भी करनी है। तो उसके लिए मैं यहां पे क्या [92:28] करूंगा? यहां पे मुझे इस पूरी बेस [92:30] कंट्रोलर फाइल का पाथ देना है। तो यहां पर [92:32] मैं लिख लेता हूं यूज़ सबसे पहले ऐप [92:35] फोल्डर। फिर उसके अंदर एचटीटीपी फोल्डर और [92:38] उसके अंदर बेस कंट्रोलर। ये देखिए एज। अब [92:41] इसका एक नाम भी देता हूं। बेस कंट्रोलर [92:45] हम पूरी इस फाइल को इस वाले वेरिएबल से [92:48] यूज़ करेंगे। यह कांस्टेंट वेरिएबल बन गया [92:50] जिसको मैंने यहां पे यूज़ कर लिया। अब इस [92:52] कोड को छोटा कैसे करना है वो भी मैं आपको [92:54] दिखा देता हूं। जहां पर हम अभी इतनी सारी [92:56] लाइनें लिख रहे थे। ये लिखने की कोई जरूरत [92:58] नहीं है। यहां पर मैं रिटर्न कर देता हूं। [93:01] सबसे पहले मैं यहां पर दिस लिखूंगा। दिस [93:04] का मतलब क्या है? जो हमारी यही क्लास है [93:06] पोस्ट कंट्रोलर इसी का ही एक मेथड यूज़ कर [93:09] रहा हूं इस वाले मेथड के अंदर। तो हमारे [93:11] उस मेथड का नाम क्या है? उसका नाम है सेंड [93:13] रिस्पांस जिसके अंदर दो पैरामीटर मुझे [93:15] सेंड करने हैं। मतलब कि एज ए वैल्यू। [93:19] तो पहले में मुझे डाटा सेंड करना है। तो [93:21] यहां पर मैं डाटा सेंड कर देता हूं। पहले [93:24] मैं इसे ऐसे सेट कर रहा था। अभी यह लाइन [93:26] तो मैं रिमूव कर दूंगा। और साथ में मुझे [93:29] एक मैसेज भी सेंड करना है। तो मैसेज मैं [93:31] यहीं से कॉपी कर लेता हूं और यहां पे सेट [93:34] कर देता हूं। यह देखिए। अब यह इतनी सारी [93:37] लाइनें लिखने की कोई जरूरत नहीं है। इसको [93:39] मैं रिमूव कर देता हूं। यह स्टेटस अपने आप [93:42] इसी मेथड से आ जाएगा। मैसेज मैंने यहां पर [93:44] सेट कर दिया और डाटा मैंने यहां पे सेट कर [93:46] दिया। बिल्कुल उसी सीक्वेंस में करना है [93:48] जैसे आपने यहां लिया है। मैसेज सेकंड [93:50] पैरामीटर है और रिजल्ट फर्स्ट पैरामीटर। [93:52] तो यह मैंने सेट कर दिया है। अब इस लाइन [93:54] को मैं यहां से रिमूव कर देता हूं। यह [93:56] देखिए कोड कितना सिंपल हो चुका है। अब [93:58] बिल्कुल यही सक्सेस का कोड मैं यहां से [94:00] कॉपी करके जहां-जहां पर भी सक्सेस लिखा था [94:03] वहां पर मैं सेट कर देता हूं। यह देखिए [94:05] यहां पर भी किया था। तो यहां पर यह वाला [94:07] मैसेज सेट कर देता हूं। और यह डाटा मैंने [94:11] सेंड करना था। यहां से कॉपी करके यहां पर [94:14] सेट कर देता हूं। यह देखिए इसको भी मैं [94:16] रिमूव कर देता हूं। बिल्कुल इसी तरह से [94:19] यहां पर भी एक सक्सेस का मैसेज है। मैं [94:21] ऊपर से कोड कॉपी कर लेता हूं। एक सेकंड। [94:24] अब यहां पर यह वाला मैसेज मुझे सेंड करना [94:27] है। [94:28] और यहां पर डाटा यह वाली लाइंस को मैं [94:32] रिमूव कर देता हूं। अब इसके बाद हमारे पास [94:35] यहां पर अपडेट के केस में भी यहां पर [94:37] सक्सेस मैसेज शो होगा। सबसे नीचे यहां पर [94:39] देखिए [94:41] यहां पर मैं क्या करता हूं? यहां पर भी [94:43] मैं यह वाला मैसेज कॉपी करके [94:46] सेट कर लेता हूं। और यहां पे पोस्ट ही है। [94:48] इसको मैं कॉपी कर लेता हूं। और लास्ट में [94:51] आ गया हमारा डिलीट का सक्सेस मैसेज। और यह [94:54] मैसेज मैंने यहां से कॉपी किया। [94:57] यहां पे सेट और यहां पे आ गया पोस्ट। अब [94:59] इस कोड को भी मैं रिमूव कर देता हूं। तो [95:00] आप देख रहे हैं कि हमारा कोड कितना सिंपल [95:02] हो चुका है। यह रिस्पांस जो है वह jसन का [95:04] ही रिस्पांस है। [95:06] यहां से मैंने रिमूव नहीं किया। इसको भी [95:08] मैं रिमूव कर देता हूं। यह देखिए। अब [95:10] बिल्कुल इसी तरह से जहां पे हमारा एरर से [95:12] रिलेटेड यह फॉल्स से रिलेटेड हमारा मैसेज [95:15] आ रहा था। उसको भी मैं चेंज कर लेता हूं। [95:17] तो सबसे ऊपर जाते हैं। पहले मैं यहां पे [95:19] देखता हूं। यहां पे आप देख रहे हैं कि फेल [95:21] के केस में यहां पर मैं यह फेल का स्टेटस [95:24] सेंड कर रहा था। अब इसकी जगह पे मैं अपना [95:26] कोड पेस्ट करता हूं। यह देखिए। अब सेंड [95:29] रिस्पांस नहीं यूज करूंगा। यहां पर यूज [95:31] करूंगा दूसरा मेथड। उसका नाम मैंने क्या [95:33] रखा था? उसका नाम मैंने रखा है सेंड एरर। [95:36] अब सबसे पहले इसमें एरर का मैसेज आएगा। और [95:39] सेकंड पैरामीटर देना जरूरी नहीं है। अगर [95:41] लाराव खुद से कोई एरर दे रहा है, तो हम [95:43] यहां पर सेंड करेंगे एज ए सेकंड पैरामीटर। [95:46] और अगर हम थर्ड पैरामीटर यहां पे सेट करते [95:48] हैं, तो वह वैल्यू सेट हो जाएगी। वरना [95:50] यहां पर डिफ़ॉल्ट वैल्यू सेट की हुई है [95:52] 404। तो, मैं वापस आता हूं। और यहां पर यह [95:56] मेरा खुद का एरर मैसेज है। इसको मैं यहां [95:58] से सेट कर देता हूं। यह देखिए। और सेकंड [96:02] पैरामीटर में जो यह लाराव अपनी तरफ से एरर [96:05] मैंने यहां पे शो किए हैं। जो लारावल देगा [96:07] उसको यहां से कॉपी करके मैं यहां पर सेट [96:09] कर देता हूं। यह देखिए। तो इस कोड की अब [96:12] कोई जरूरत नहीं है। इसको मैं हटा देता [96:14] हूं। और इस पूरे कोड को मैं कॉपी कर लेता [96:16] हूं। अब जहां पर भी मेरा एरर मैसेज शो हो [96:19] रहा था, वहीं पर मैं इसको सेट कर दूंगा। [96:22] यह देखिए, यहां पर भी यह मैसेज आ रहा है। [96:25] तो यहां पर मुझे यह ऊपर का कोड डिलीट कर [96:27] देना है। [96:31] देखिए सब जगह सेट हो चुका है। अब यह हमारा [96:33] कोड जो फाइल है काफी छोटी हो चुकी है [96:35] क्योंकि यहां पर मैंने दूसरी फाइल को यूज़ [96:37] कर लिया है जिसका नाम है बेस कंट्रोलर। अब [96:39] यही फाइल से हमारा रिस्पांस जाएगा JSON के [96:42] फॉर्मेट में। तो यहां पर मैं इस फाइल को [96:44] सेव करता हूं और एक बार बेस कंट्रोलर के [96:47] अंदर आकर आपको सारे डाटा को फैच करके [96:50] दिखाता हूं। अब हमारे पास मेरे ख्याल से [96:51] कोई डाटा नहीं है। मैं सेंड पे क्लिक करता [96:53] हूं। तो देखिए यहां पर खाली आ चुका है। [96:57] यहां पे कोई भी डाटा नहीं है। एक बार मैं [96:59] नया डाटा ऐड करके देख लेता हूं। तो यहां [97:01] पर मैंने लिख दिया पोस्ट नंबर थ्री। पोस्ट [97:03] नंबर थ्री ये इमेज है। इसको मैं सेंड कर [97:06] देता हूं। [97:08] यह देखिए यह इमेज भी सेव हो चुकी है। अब [97:10] मैं दोबारा से इसी वाली फाइल में आता हूं। [97:12] जिसमें सारा डाटा हम चेक कर सकते हैं। [97:14] सेंड पे क्लिक करता हूं। [97:16] और यह देखिए यह पूरा रिस्पांस हमारा [97:18] बिल्कुल एज इट इज आ रहा है। जैसे पहले आ [97:20] रहा था। तो यह था हमारा एपीआई। हमने एपीआई [97:24] को क्रिएट करना सीखा यहां पर। अब नेक्स्ट [97:26] वीडियो में हम सीखेंगे कि हम इन एपीआई को [97:30] अजैक्स के साथ कैसे यूज़ कर सकते हैं। और [97:32] फ्यूचर में सीखेंगे कि इन एपीआई को व्यू [97:34] जेएस और रिएक्ट js के साथ कैसे सीखेंगे। [97:37] तो इसे नेक्स्ट वीडियो को भी देखना मत [97:38] भूलिए। [97:40] होप सो आपको यह हमारा वीडियो ट्यूटोरियल [97:42] अच्छा लगा होगा। अगर अच्छा लगा है तो [97:44] वीडियो को प्लीज [संगीत] लाइक करना मत [97:46] भूलिए। अगर आप ऐसे ही रेगुलर अपडेट चाहते [97:48] हैं तो हमारे चैनल Yahoo बाबा को [97:50] सब्सक्राइब [संगीत] करना मत भूलिए। थैंक [97:52] यू।