0:00
अगर आप लोगों को याद हो तो हमने एक contact page बनाया था जिसमें हमने कहा था कि किसी को भी हमारे blog को contact करना होगा तो वो directly contact page पर आकर एक form फिल कर देग�
0:08
इस form को फिल करने के बाद जब user submit करेगा तो definitely एक API हमें बनानी पड़ेगी जो कि इस data को collect करेग�
0:15
इस वीडियो के अंदर हम यही API बनाने वाले हैं और हम लोग देखेंगे किस तरह से इस API क�
0:19
Next.js के API रूट के थरू बना सकते हैं हम लोग यह भी देखेंगे क�
0:23
Post Request को कैसे हैंडल करना है क्योंकि यह पहली बार होगा कि हम लोग Post Request को हैंडल करेंग�
0:28
तो चलते हैं computer screen में और देखते हैं ये सारे काम किस तरह से किए जाते है�
0:32
तो अब क्या करेंगे हम लोग की जो हमारा contact page है उसको design करेंग�
0:45
लेकिन उससे भी पहले हम लोग क्या करेंगे कि contact page को design करने के लिए APIs को बनाएंग�
0:50
ठीक है वह देखना वह मैं कैसे करूंगा तो मैं क्या करूंगा सबसे पहला काम तो एक यह करता हूं कि जितन�
0:54
भी यहां पर खुले हुए हैं मेरे पास प्लोस टू द राइट सारी क्लोस कर देता हूं कि बहुत ज्यादा रायता फैल गय�
1:00
यहां पर अब मैं क्या करूंगा कि जो मेरी एपिआई जो कि पेजेस के अंदर है इसके अंदर मैंने ब्लॉक बनाया मैंन�
1:05
कॉन्टैक्ट बनाया पॉइंट नहीं बना सॉरी प्लॉप बनाया अब मैं कॉन्टैक्ट की पीएवन चाहूंगा ठीक है तो मैं यहां प�
1:11
करूंगा कंटेक्ट डॉट जेस करूंगा और मैं यहां पर क्या करूंगा आप पोस्ट कंटेक्ट डॉट जेस करूंगा नहीं क�
1:19
एक पोस्ट रिक्वेस्ट जो कि कंटेक्ट को मारी जाएगी ताकि जो कंटेक्ट है वह डाटा को एक्सेप्ट कर सकते ठीक ह�
1:27
तो यह करने के लिए मैं क्या करूंगा मैं net पर जाओंगा और यहाँ प�
1:30
लिख दूँगा next js api roots पता है ऐसा क्यों किया मैंन�
1:36
क्यों किया मैंने net पर क्यों लिखा जाके यार इसलिए लिखा क्यों कि ना code मिल जाता है और बार बा�
1:40
यार कौन कोड लिखेगा यार कौन टाइप करेगा बार बार देखो यहां पर मुझे मिल गया पोस्ट रिक्वेस्ट को हैंड�
1:45
करने का कोड तो मैं इसको कॉपी करूंगा और कॉपी करने के बाद डिरेक्टल यहां पर मैं क्या करूंगा पेस्ट क�
1:51
ठीक है और यहाँ पर देखो मैंने कह दिया export default handler request response if request.method equals to post
1:59
तो एक post request को process कर सकता हूँ मैं ठीक है अब यहाँ पर अगर कोई और HTTP method या नहीं कि get request है तो मैं क्या कर सकता हू�
2:07
मैं एक काम करूँगा मैं लिखूँगा response.send response.send था ना sorry status और उसके बाद .json ठीक ह�
2:15
स्पांस डॉट स्टाइटस जैसे हम लोग अपने एक्सप्रेस में करते हैं बिल्कुल वही है ठीक है और मैं मान लोगी स्ट्रिंग देना चाहता हूं ठीक है कुछ इस तरह स�
2:25
ठीक है देखता हूं क्या रहता है ठीक है पोस्ट कॉन्टैक्ट स्लाइश एपीआई ए स्लाइश पोस्ट कॉन्टैक्ट ठीक ह�
2:36
यह मैं यहां पर डाल दूंगा देखो और लोग यहां पर लिखकर आ गया है तो यह व्हाट्सएप आ गया लेकिन मैं यह नही�
2:43
जाता मैं चाहता हूं कि कोई भी कॉंटेक्ट इनफॉर्मेशन अपनी सेंड कर सके टीविट कॉंटेक्ट फॉर्म में क्या होत�
2:48
है नेम होता है ठीक है एक नाम होगा लेटर से और लेटर से ईमेल होगा ठीक है और लेटर से डीएससी लिख देत�
2:56
description होगा जो कि वह बोलना चाहता है और अगर वह चाहे तो फोन नंबर भी दे सकता है ठीक है तो फोन लिख दूंग�
3:03
तो इसको जरा कमेंट आउट कर देता है वालेट कोड नहीं है ठीक है अब मैं क्या करूंगा यह करने के बा�
3:09
रिस्पॉंस डॉट स्ट्राइटस दो सौ जेसन यह इसकी कोई जरूरत ही नहीं लेकिन अभी मैं क्या करूंगा मुझे पेरामीट�
3:16
चाहिए ठीक है क्या चाहिए पोस्ट के पेरामीटर चाहिए तो यहां पर मैं कैसे लेकर रहूंगा तो अगर मैं चाहत�
3:22
कि यहां पर पोस्ट के एंड पॉइंट में लेकर रहा हू hyatt पोस्ट रिक्वेस्ट एक्सप्रेस बिल्कुल एक्सप्रेस की तर�
3:31
हुआ थी गया एक्सप्रेस चेस एक्सप्रेस चेस ठीक है तो यहां से अगर मैं देखूंगा यहां पर बड़ा आराम से मुझ�
3:38
जाएगा कोड और यह कोड वह होता है जो कि शायद आप रटना नहीं चाहेंगे मुझे तो रटता नहीं है तो मै�
3:45
सिंटेक्स देख लेता हूं ठीक है अब यहां पर देखो आप लोग कि इसकी बॉडी में कैसे हम लोग एक्सेस कर सकते है�
3:52
इसकी बॉडी से पोस्ट रिक्वेस्ट को ठीक है तो एक चीज की जा सकती है अगर मान लो मैं नहीं देखना जाता को�
3:57
पोर्ट में रेफर्ट नहीं करना चाहता तो मैं क्या करूंगा सबसे पहले तो यहां पर इसको कॉपी करूंगा और यहा�
4:18
अब यहां पर मैं क्या करूंगा थंडर लाइन लिखूंगा थंडर लाइन जो कि मैंने डिसेबल कर रखा है आप इसको इंस्टॉ�
4:26
कर लेना इनेबल करना बढ़िया चीज है ठीक है बताता हूं क्या होगा जैसे आप थंडर लाइन को इनेबल करेंगे यहा�
4:31
एक आपको टैप मिलेगा अब यहां पर लोकल होस्ट ठीक है कोलन 3000 स्लाश एपीआई स्लाश कहा गया मेर�
4:45
न्यू रिक्वेस्ट करना पड़ेगा पहले ठीक है तो यह बेसिकली क्या है कि आप पोस्ट रिक्वेस्ट मार सकत�
4:50
ठीक है अगर आपको नहीं पता तो बता रहा हूं slash API slash post contact ठीक है तो मैं इसको copy paste कर सकता हू�
4:56
मैं तीम अराउंट टाइप करने की अब मैं क्या करूंगा मैं कहूंगा कि मैं पोस्ट रिक्वेस्ट माननी है और मै�
5:01
सेंड करूंगा जैसे मैंने सेंड किया तो यह पोस्ट रिक्वेस्ट आ गया और मैं गैट रिक्वेस्ट मानूं तो ऑल ब्लॉक्�
5:05
या यह थंडर लाइन काम करता है अगर आप लोग नहीं पता थंडर लाइन क्या होता है तो यह होता है बहुत सिंपल स�
5:11
चीज है पोस्ट मैन भी यूज कर सकते हैं वह सारे लोग पोस्ट मैन यूज करते हैं मेरा थंडर लाइन से काम हो जात�
5:16
ठीक है अब क्या करेंगे कि यहां पर आप देखो रेस्ट और स्टाइटस ही मनी एस पोस्ट रिक्वेस्ट लिखा मैं क्या करूंग�
5:23
रिक्वेस्ट ऑब्जेक्ट पूरा देता हूं क्या मैं ऐसा कर सकता हूं मैं देखता हूं रिक्वेस्ट ऑब्जेक्ट अगर मैं दे दूं पूर�
5:28
पोस्ट पोस्ट और यहां पर कुछ भी नहीं आया क्या कुछ एरर आया नहीं आया तो दिख जाएगा नहीं आया तो मैंने यहा�
5:41
पर पूरा रिक्वेस्ट ऑब्जेक्ट दिया हम लोग इसको हटाएंगे और यहां पर क्या करें रिक्वेस्ट टॉट बॉडी लिखेंग�
5:48
है और अब मैं हिट करूंगा अगर इसको एंड पॉइंट को तो देखना क्या होगा रिक्वेस्ट टॉप बॉडी मुझे कु�
5:55
देखने को नहीं मिल रहा है यहां पर जिसको पॉइंट एकदम खाली है अब मालूं यहां पर स्टेफ लिख दू�
5:59
Sorry, मैं body में लिखूँगा। और मैं यहाँ पर क्या करूँगा। कुछ इस तरह से लिखूँगा�
6:05
a और let us say 34। और मैं यहाँ पर send करूँगा�
6:12
invalid json लिखकर आ रहा है। invalid json क्यों लिखकर आ रहा है। a ओके मुझे double quote में डालना होगा a को�
6:17
अब देखो यहां पर आ गया ठीक है तो इसका मतलब बॉडी में आ रहा है डाटा ठीक है अब मान लो मैं यहां walked
6:24
तो नेम और मैं यहां पर लिखता हूं है डी और उसी के साथ साथ लेटर से मैं लिखता हूं यहां पर मान लो मै�
6:33
लेता हूं इस रिक्वेस्ट में अब क्या लिखों मैं लिखूंगा फोन और यहां मैं अपना फोन नंबर लिख रहा हूं ठीक ह�
6:43
तो दो चार दो छह दो आठ दो दस ठीक है और फोन नंबर लिखने के बाद मैं डीएस लिख रहा हूं यानी कि मैं क्य�
6:51
बोलना चाहता हूं ठीक है मान लो मैंने लिखा है मोड बॉय और और यह चीज थी और पाइटिंग ईमेल था ठीक ह�
7:01
ईमेल ईमेल में लिखना चाहता हूं है रियल है रिवाई डॉटकॉम ठीक है अब मैं क्या करूंगा यह करने के बा�
7:09
अगर मैं इसको send करूँ, ठीक है, मैं जरा copy कर लेता हूँ इसको, अगर मैं इसको send करूँ, तो यहाँ पर देखो, यह पूरा का पूरा मुझे ऐसे देखने को मिल रहा है, ठीक है
7:16
यानि कि यहाँ पर यह accessible है request.body में, अब मैं यहाँ पर क्या कर सकता हूँ
7:20
कि यहाँ पर fs module का इस्तेमाल करके इस चीज को write कर सकता हूँ, ठीक है, इस JSON को ही write कर सकता हूँ, तो मैं काम करूँगा, block data के साथ साथ एक contact data नाम का folder बनाऊँगा, मैंने block data के अंदर क्यों बना दिया, इसके बाहर बनाना था, नहीं, मुझे बाहर move करना है, बाहर, ठीक है, contact
7:50
यहां पर कैसे करूं यह काम है यह मुझे करने क्यों नहीं दे रहा है कंटेक्ट डाटा को मुख करना चाहता हू�
7:59
वाले अपने डिलीट कर देता हूं अब ठीक हो गया ठीक है तो कहां गया मेरा कंटेक्ट डाटा यह रहा मेर�
8:09
टाइट क्वेश्चन डाटी के कॉन्टेक्ट डेटा के अंदर में क्या करूंगा कि यहां पर मैं जैसे थ्रू करूंगा ठीक ह�
8:29
कभी भी किसी ने अगर इस end point को hit किया post request से तो मैं क्या करूँगा request.body को dump करूँगा कहाँ प�
8:35
मैं कहूँगा fs.write file ठीक है और write file पहला argument क्या है file
8:43
तो file का नाम क्या होगा फाइल का नाम होगा को कोंटेक्ट ठीक है और मैं कोंटेक्ट नहीं फाइल का नाम मैं इस फोल्डर के अंदर जा रहा हू�
8:54
कोंटेक्ट डेटा स्लाश और लेट असे वन डॉट जेसन ठीक है और यह करने के बाद मैं क्या करूंगा दूसरा अर्गमें�
9:03
दूसरा विमेट डाटा रिक्वेस्ट डॉट बॉडी और तीसरा अग्योमेंट हमारे पास नोट जैसे बॉफर व्यू और कॉ�
9:11
बैक इसके बाद ठीक है मैं सिर्फ इतना करता हूं और यह करने के बाद देखता हूं कि चीज काम कर रही है कि नही�
9:16
तो अगर मैं इसको hit करूँ अपने thunder line से तो यहाँ पर मुझे एक error देखने को मिल गया और वो error क्या है internal server error देखता हूँ क्या error आय�
9:25
I think क्या error आ रहा है callback must be a function
9:29
तो मैं यहाँ पर एक callback function भी दे देता हूँ ठीक है callback function क�
9:34
मैं भी खाली रख रहा हूँ ठीक है अब मैं पोस्ट रिक्वेस्ट को सेंड करूंगा तो यहां पर क्या आ रहा है अर्रर्�
9:40
अम जेटा ग्रेट मस्ट प्रियोट टाइप स्ट्रिंग ओके तो यह मुझसे यह रहा है कि यार यह क्या है ठीक है मैं क्या करूंग�
9:46
तो कुछ ऐसे कर दूंगा अब अभी के लिए सिर्फ ऐसे कर दूंगा और यह देखोंगा कि क्या यह चल रहा है कि नही�
9:54
चल रहा है यहां से नहीं यहां से सेंट ठीक है भी नहीं चल रहा है कि डाइटर एग्रीम अप्लीट ऑफ टाइ�
9:59
आपके तो मैंने गर्बर कर दिया तो मैं क्या करूंगा यहां पर चीज इसने डॉट पार्स करूंगा ठीक है और यहां प�
10:09
जल्दी से वर्ड राप भी कर देता हूं जैसे इन डॉट पार्स और रिक्वेस्ट पॉइंट ठीक है और यह रिक्वेस्ट पॉइं�
10:16
लॉक कर रहा है उसको मैं अधिक हो ठीक है मैं जाऊंगा यहां पर सेंड करूंगा और इस बार क्या दिक्कत आ रही ह�
10:22
अनेक्सपेक्टेड टोकन जी रो इन चेसन एड पोजीशन वन यह क्या दिक्कत है अ क्या दिक्कत है मैं आप रेक्टर जेड करत�
10:33
देखता हूं रिक्वेस्ट डॉट बॉडी क्या है मेरी ऐसी ऐसी क्या दिक्कत आ रही है रिक्वेस्ट डॉट बॉडी मे�
10:37
कंसोल डॉट लॉग रिक्वेस्ट डॉट बॉडी यहां पर मैं देख रहा हूं क्या प्रॉब्लम आ रही है तो यह मैंन�
10:46
ब्रोबर कर दिया है वह यह कि ब्राकेट में गलत लगा दिया मुझे ब्राकेट यहां पर लगाना हो कुछ इस तरह से ठीक ह�
10:52
अभी मैं करता हूं और यह काम करना चाहिए था लेकिन नहीं किया इसने दोबारा से वह यह दिखा रहा है मुझे मैंन�
11:00
यहां पर जेसन डॉट पार्स रिक्वेस्ट बॉडी किया और कोंटैक्ट डेटा स्लाइज वन डॉट जैसन किया सब कुछ मैंने किय�
11:08
आपका टाइप डेटा के अंदर वन डॉट जैसन बनी नहीं बनी जैसन डॉट पार्ट्स रिक्वेस्ट बॉडी मैंने जैसन को पार्�
11:14
करने की कोशिश करी ठीक है अच्छा अगर मैं यहां पर एक स्ट्रिंग डालता हूं तब देखता हूं काम करा है मेरा क�
11:20
रहा है यह देखता हूं पहले सॉरी मैंने जेसन डॉट स्ट्रिंग की फाइल करना था यार पास क्यों कर रहा हूं जैस�
11:26
उनको इस स्ट्रिंग में अनुवर्ड करना है ना हां आ देखो अब हो गया अब बन गया होगा कॉन्टैक डाटा के अंद�
11:32
वन डॉट जेसन और यह देखो यहां पर आ गया है हमारा फॉरमेट डाटा करूंगा तो आप देख सकते हैं यहां पर य�
11:37
जैसे आ गई ठीक है तो काम हो गया हमारा काम हो गया है लेकिन आप लोग को भी कि यार देखो यह जो हमने काम किय�
11:44
अभी क्या यह रिप्लेस नहीं कर देगा हर बार वन डॉट जेसन को आप लोगों को यार करेगा क्यों नहीं करेगा व�
11:51
डॉट जेसन को रिप्लेस कर देगा यह बार तो इसका क्या सॉल्यूशन है इसका एक सॉल्यूशन तो यह है कि मैं हर बा�
11:57
unique number generate करूं जो कि unique हो या फिर एक दूसरा इसका जो solution है वो यह है कि मै�
12:04
check sum generate करूं अभी के लिए मैं यहाँ पर क्या करूंगा मैं यहाँ पर async का वेट का इस्तेमाल करूंगा और मैं काम करता हूं यहाँ प�
12:12
मैं कहूँगा कि fs.promises. और मैं यहाँ पर इसको async बना देता हू�
12:18
handler को. ठीक है? async function handler. और मैं क्या करूँगा? मैं लिखूँग�
12:26
let data is equal to fs.promises.readdir. directory read contact data contact data read
12:42
ठीक है अवेट करूंगा और इसको अवेट करने के बाद मैं यहाँ पर भी वही काम करूंग�
12:49
एफेस डॉट रॉमिसेस डॉट राइट फाइल और यह कॉल बैक अटाओंगा यहां से ठीक है और मैं यहां पर क्या करूंग�
12:57
कंसोल डॉट लॉग डाटा करूंगा ठीक है ऐसा क्यों कर रहा हूं मैं अ कि वन डॉट जेसन यहां पर आ गया देख�
13:07
मैं इसलिए कर रहा हूं क्योंकि यार देखो अगर इसमें वन डॉट जेसन है तो मैं टू डॉट जेसन मनाऊंग�
13:12
इसकी जो भी लेंथ होगी प्लस वन कर दूंगा ठीक है अब देखो मैं क्या करूंग�
13:17
जो ये नाम होगा ना मैं backticks लगाता हूं पहले यहाँ पर अब देखते जाओ मैं क्या करूंगा अभी मैंने 11 क्यों लिख दिया बैक टिक्स लगाने थ�
13:26
अब देखते जाओ मैं क्या करूंगा समझाओंगा भी मैं आपको एक बार और कि मैं क्या कर रहा हू�
13:31
मैं यहां पर बublic लिखूंगा डेटा डॉट लेंथ प्लस फन ठीक है यानि कि अगर मैंने एक बार यहां पर सेंड किया त�
13:46
मेरा टू डॉट जेसन बना दुबारा से सेंड किया थ्री डॉट जेसन बनेगा देख रहे हो आप लोग और एंड सो ऑन यह बनत�
13:51
बनता जाएगा बनता जाएगा ठीक है तो मैं जैसे-जैसे करता जाऊंगा देखो फाइल बनती जानी है ठीक है जैसे-जैस�
13:57
मैं इसे प्रियाई को हिट करता जाऊंगा वैसे-वैसे यहां पर यह बनता जाएगा ठीक है अब यह काम कैसे कर रह�
14:01
समझते हैं देखो सबसे पहले तो मैंने एफस प्रॉमिसेस का इस्तेमाल किया अगर आप लोगों नहीं पता यह क्या है तो हमन�
14:07
इसको पहले भी यूज किया ठीक है दूसरी चीज हमने करिए वह यह है कि हमने काई किया हम इस डिरेक्टरी के कॉन्टें�
14:13
रीड करेंगे जो हमारा कांटेक्ट डेटा इस डिरेक्टरी के कंटेंट को हम लोग रीड करेंगे कांटेक्ट डेट�
14:18
डिरेक्टरी कंटेंट को मालों इसके अंदर 12 जेसन है इसका मतलब हम तेरा नंबर की जेसन यूज कर सकते हैं ठी�
14:24
तेरा number की JSON को हम use कर सकते हैं तो हम क्या करेंगे console.log
14:29
data यहाँ पर मैंने ऐसी देखने के लिए किया था इसको मैं हटाता हूँ हम क्या करेंगे अब write कर देंगे fs.promises.write
14:35
file और हम क्या करेंगे data.length plus 1 कर देंगे ठीक ह�
14:39
यानि कि अगर 12 JSONs हैं तो अगली JSON 13.json के नाम से बनेग�
14:43
15 JSON से हैं तो अगली JSON 16.json के नाम से बनेग�
14:47
और unique रहेगा ठीक है मुझे बाता है इस solution के साथ भी problems है जैसे कि अगर एक कोई भी JSON fail होगा ही write होन�
14:52
मानलो 12 JSON fail हो जाती है write होना और एक empty file बन जाती ह�
14:57
problems हो सकती है ठीक है यह एक बहुत अच्छा solution नहीं है
15:01
but एक quick and dirty और ठीक ठाक solution है, ठीक है, तो यह हम लोग इस तरह से कर सकते हैं
15:06
ठीक है, file system पर write करना is never a good idea, but हम लोग simplicity के लिए
15:11
ताकि सब लोग follow कर पाएं, जिनको mon stack नहीं आती है, जिनको mongodb से connect नहीं करना है
15:16
जिनको एपिएइस कंप्लेक्स नहीं बनानी है उनके लिए ठीक है तो बहुत सिंपल सा मैं इस प्रोजेक्ट को फि�
15:22
निश्च करना जाता हूं इसलिए मैंने आप लोगों को इस तरह से दिया ठीक है तो मैंने आपके क्या किया गेट रिक्वेस्�
15:27
मारेगा तो ऐसे आएगा पोस्ट रिक्वेस्ट मारेगा तो यह आएगा ठीक है अब मैं क्या कर सकता हूं थंडर लाइन क�
15:31
अंदर इस रिक्वेस्ट को सेव कर सकता हूं पता आपको सीव रिक्वेस्ट सीव टू कलेक्शन सीव टू कलेक्शन अब मैं क्य�
15:38
बनाऊंगा एक कलेक्शन बनाऊंगा मैंने बहुत सारे कलेक्शन सब ने बना रखे तो आप मैं क्रिएट न्यूअर क�
15:43
अंटिंग पोडर बनाऊंगा ठीक है कलेक्शन का नाम होगा अंटिंग पोडर ठीक है सबमिट �
15:50
एक अंटिंग कोडर बना गया हां बन गया हंटिंग कोडर के अंदर आप लोग यहां पर देखो कि यह बन गया देख रह�
15:57
आप लोग अब मैं डिरेक्ट इस रिक्वेस्ट को रन कर सकता हूं मुझे बार पर कॉपी पेस्ट करने की जरूरत नहीं ह�
16:01
ठीक है तो सेव कर देते हैं इसको और हॉप कि समझ में आ गया आप लोगों को भी काम किस तरह से किया जा रह�
16:07
है अब अगले वीडियो में क्या करेंगे फॉर्म बनाएंगे बहुत ही बेसिक सा फॉर्म बनाएंगे बहुत ही बेसिक सा फॉर्�
16:12
आने के बाद हम लोग क्या करेंगे कि इस एपिया यू करेंगे उससे कि कोई भी कोंटेक्ट पर जाकर आप अपन�
16:17
कंटेक्ट कर सके ठीक है आप मजा आया आप लोगों को और आपने प्लेट भी एक्सेस कर ली होगी अभी के लिए इस वीडिय�
16:24
नहीं गाइस थैंक यू सो मच गाइस पर वाचिंग इस वीडियो एंड आई विल सी यू नेक्स टाइम �