Axios क्या है?
Axios JavaScript के लिए एक लोकप्रिय HTTP-क्लाइंट है, जो ब्राउज़र और Node.js वातावरण दोनों में काम करता है। यह Promise पर आधारित है और HTTP अनुरोधों को निष्पादित करने के लिए एक सुविधाजनक API प्रदान करता है। यह लाइब्रेरी स्वचालित रूप से JSON को संभालती है, इंटरसेप्टर, अनुरोध रद्दीकरण और CSRF सुरक्षा का समर्थन करती है।
Axios की आवश्यकता क्यों है?
बिल्ट-इन fetch के विपरीत, Axios "बॉक्स से बाहर" अधिक समृद्ध कार्यक्षमता प्रदान करता है: स्वचालित डेटा ट्रांसफॉर्मेशन, अपलोड के लिए प्रोग्रेस-बार, टाइमआउट, पुनः प्रयास और पुराने ब्राउज़रों के साथ काम करना। Node.js डेवलपर्स के लिए, REST API, माइक्रोसर्विसेज और बाहरी सेवाओं के साथ बातचीत करने के लिए यह एक अपरिहार्य उपकरण है।
स्थापना (Installation)
npm या yarn के माध्यम से लाइब्रेरी स्थापित करें:
npm install axiosया वैश्विक उपयोग के लिए:
npm install -g axiosमुख्य कार्य
- सभी HTTP विधियों का समर्थन: GET, POST, PUT, DELETE, PATCH और अन्य।
- स्वचालित JSON सीरियलाइज़ेशन/डीसीरियलाइज़ेशन।
- अनुरोध और प्रतिक्रिया इंटरसेप्टर लॉगिंग, प्रमाणीकरण और त्रुटि प्रबंधन के लिए।
- अनुरोध रद्दीकरण AbortController (आधुनिक API) या CancelToken (पुराना) के माध्यम से।
- टाइमआउट और पुनः प्रयास (प्लगइन्स या मैन्युअल कॉन्फ़िगरेशन के माध्यम से)।
- प्रोग्रेस के साथ फ़ाइल अपलोड (
onUploadProgressके माध्यम से)।
Node.js पर कोड उदाहरण
const axios = require('axios');
async function getPost(id) { try { const response = await axios.get(`https://jsonplaceholder.typicode.com/posts/${id}`); console.log('डेटा:', response.data); } catch (error) { console.error('त्रुटि:', error.message); }}
getPost(1);
// डेटा के साथ POST अनुरोधconst newPost = { title: 'शीर्षक', body: 'पोस्ट का टेक्स्ट', userId: 1,};
axios.post('https://jsonplaceholder.typicode.com/posts', newPost) .then(res => console.log('बनाया गया:', res.data)) .catch(err => console.error('त्रुटि:', err));Axios का उपयोग कब करें
Axios उन प्रोजेक्ट्स के लिए आदर्श है जिन्हें उन्नत क्षमताओं वाले विश्वसनीय HTTP-क्लाइंट की आवश्यकता होती है: कॉर्पोरेट एप्लिकेशन, माइक्रोसर्विस आर्किटेक्चर, बाहरी API के साथ एकीकरण, और उन मामलों के लिए जहां Node.js के पुराने संस्करणों (18.x तक) के साथ बैकवर्ड कम्पैटिबिलिटी की आवश्यकता है। यदि आप हल्के समाधान पसंद करते हैं, तो node-fetch या Node.js 18+ में बिल्ट-इन fetch पर विचार करें।
निष्कर्ष
Axios JavaScript इकोसिस्टम में HTTP अनुरोधों के लिए डी-फैक्टो मानक बना हुआ है। सादगी, लचीलेपन और व्यापक समुदाय के कारण, यह लाइब्रेरी त्वरित प्रोटोटाइप और बड़े प्रोडक्शन सिस्टम दोनों के लिए उपयुक्त है।