किसी फ़ाइल से JSON डेटा भेजकर अपने API का परीक्षण करने की आवश्यकता है? यहां कर्ल कमांड हैं।

JSON फ़ाइल को लोकलहोस्ट पर पोस्ट करें

कमान
curl -X POST http://localhost:8080/api/endpoint \
  -H "Content-Type: application/json" \
  -d @data.json

बदलें:

  • 8080 आपके पोर्ट के साथ
  • /api/endpoint आपके एपीआई पथ के साथ
  • data.json आपके JSON फ़ाइल पथ के साथ

द @ प्रतीक कर्ल को फ़ाइल से पढ़ने के लिए कहता है।

JSON फ़ाइल डालें

कमान
curl -X PUT http://localhost:8080/api/endpoint \
  -H "Content-Type: application/json" \
  -d @data.json

POST के समान, केवल PUT विधि का उपयोग करके।

वन-लाइनर संस्करण

कमान
curl -X POST http://localhost:8080/api/endpoint -H "Content-Type: application/json" -d @data.json

सब कुछ एक लाइन पर।

रिस्पांस हेडर दिखाएं

कमान
curl -X POST http://localhost:8080/api/endpoint \
  -H "Content-Type: application/json" \
  -d @data.json \
  -i

-i आउटपुट में प्रतिक्रिया हेडर शामिल हैं।

वर्बोज़ आउटपुट (डीबग)

कमान
curl -X POST http://localhost:8080/api/endpoint \
  -H "Content-Type: application/json" \
  -d @data.json \
  -v

-v पूर्ण अनुरोध और प्रतिक्रिया विवरण दिखाता है।

प्रमाणीकरण के साथ

मूल प्रमाणीकरण:

कमान
curl -X POST http://localhost:8080/api/endpoint \
  -H "Content-Type: application/json" \
  -u username:password \
  -d @data.json

वाहक टोकन:

कमान
curl -X POST http://localhost:8080/api/endpoint \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-token-here" \
  -d @data.json

एपीआई कुंजी:

कमान
curl -X POST http://localhost:8080/api/endpoint \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your-api-key" \
  -d @data.json

इनलाइन JSON भेजें (कोई फ़ाइल नहीं)

कमान
curl -X POST http://localhost:8080/api/endpoint \
  -H "Content-Type: application/json" \
  -d '{"key":"value","number":123}'

एकल उद्धरण शैल व्याख्या को रोकते हैं।

विभिन्न निर्देशिका में फ़ाइल

कमान
curl -X POST http://localhost:8080/api/endpoint \
  -H "Content-Type: application/json" \
  -d @/path/to/data.json

निरपेक्ष या सापेक्ष पथ का उपयोग करें।

फ़ाइल में प्रतिक्रिया सहेजें

कमान
curl -X POST http://localhost:8080/api/endpoint \
  -H "Content-Type: application/json" \
  -d @data.json \
  -o response.json

प्रतिक्रिया सहेजी गई response.json.

सामान्य लोकलहोस्ट पोर्ट

  • 3000: Node.js, रिएक्ट देव सर्वर
  • 8000: पायथन HTTP सर्वर, Django
  • 8080: सामान्य जावा, सामान्य विकास
  • 5000: फ्लास्क डिफ़ॉल्ट
  • 4200: कोणीय देव सर्वर
  • 3001: वैकल्पिक Node.js

समस्या निवारण

"कनेक्ट करने में विफल" त्रुटि:

  • एपीआई नहीं चल रहा है
  • गलत पोर्ट नंबर
  • चेक करें http:// बनाम https://

"कर्ल: ऐसी कोई फ़ाइल नहीं" त्रुटि:

  • JSON फ़ाइल मौजूद नहीं है
  • गलत फ़ाइल पथ
  • वर्तमान निर्देशिका की जाँच करें pwd

अप्रत्याशित प्रतिक्रिया:

  • JSON सिंटैक्स की जाँच करें cat data.json
  • jsonlint.com पर JSON मान्य करें
  • उपयोग करें -v पूरा अनुरोध देखने के लिए ध्वजांकित करें

उदाहरण JSON फ़ाइल

बनाएं data.json:

कमान
{
  "name": "Test User",
  "email": "test@example.com",
  "active": true,
  "roles": ["admin", "user"]
}

फिर चलाएँ:

कमान
curl -X POST http://localhost:8080/users -H "Content-Type: application/json" -d @data.json

निचली पंक्ति

बेसिक पोस्ट कमांड:

कमान
curl -X POST http://localhost:8080/api/endpoint -H "Content-Type: application/json" -d @data.json

द @ प्रतीक फ़ाइल से पढ़ता है। PUT अनुरोधों के लिए POST को PUT में बदलें। जोड़ें -v डिबगिंग के लिए। जोड़ें -i प्रतिक्रिया शीर्षलेखों के लिए।

विकास के दौरान किसी भी लोकलहोस्ट एपीआई के साथ काम करता है।