मुख्य सामग्री पर जाएं
होम पर वापस
ब्लॉग पर वापस
Tutorial

Android पर API टेस्टिंग: आपकी जेब में एक पूरा REST, GraphQL और WebSocket क्लाइंट

अपने Android फ़ोन से REST, WebSocket, GraphQL और SSE APIs को टेस्ट और डीबग करें। PocketCode एक पूरा HTTP क्लाइंट देता है — auth, स्क्रिप्ट, environments, mock server और कोड जनरेशन — सब IDE में ही बना हुआ।

7 min
लेखक Pelayo Naredo
Android पर API टेस्टिंग: आपकी जेब में एक पूरा REST, GraphQL और WebSocket क्लाइंट

एक API सबसे ख़राब पल में टूट जाता है: आप अपने डेस्क से दूर हैं, webhook चल नहीं रहा, और आपका Postman वाला लैपटॉप घर पर है। Android पर, आम जवाब होता है "जब तक आप वापस न आ जाएँ, तब तक रुकें।" PocketCode उस इंतज़ार को ख़त्म कर देता है — यह IDE में ही बना एक पूरा HTTP क्लाइंट देता है, ताकि आप किसी दूसरे ऐप या एक भी लाइन के जोड़-तोड़ वाले कोड के बिना अपने फ़ोन से REST APIs को टेस्ट और डीबग कर सकें।

यह कोई कटा-छँटा खिलौना नहीं है। यह एक पूरा, पेशेवर-स्तर का HTTP क्लाइंट है, और यह आपके एडिटर, टर्मिनल और डेटाबेस मैनेजर के ठीक बगल में रहता है।

यह असल में क्या कर सकता है

API Tester चार प्रोटोकॉल बोलता है, जिन्हें एडिटर के ऊपर एक चिप से चुना जा सकता है:

प्रोटोकॉलकिसके लिए है
REST (HTTP)क्लासिक request/response क्लाइंट — 8 मेथड
WebSocketलाइव द्विदिशीय कनेक्शन (ws:// / wss://)
GraphQLQueries, mutations, subscriptions + schema introspection
SSEServer-Sent Events स्ट्रीम रीयल-टाइम में

REST के लिए यह सभी आठ HTTP मेथड कवर करता है — GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS और TRACE — हर एक रंग से कोडेड, ताकि आप एक नज़र में पूरा collection स्कैन कर सकें।

एक request बनाना

request editor एक स्टिकी URL बार और कई खुलने-बंद होने वाले सेक्शन के रूप में व्यवस्थित है, हर एक का अपना accent रंग है:

  • URL बार — मेथड सिलेक्टर, एक monospace URL फ़ील्ड, और एक Send बटन जो request के चलने के दौरान एक spinner दिखाता है।
  • Params — एक key/value एडिटर जहाँ हर पंक्ति में एक enable/disable चेकबॉक्स और एक active-count बैज होता है, ताकि आप query params को हटाए बिना टॉगल कर सकें।
  • Headers — वही key/value एडिटर, जिसमें आम headers के लिए ऑटोकम्प्लीट (Content-Type, Accept, Authorization, Cache-Control, User-Agent…) है।
  • Body — दस body प्रकार: JSON (Beautify / Minify के साथ), Form URL-Encoded, Multipart (हर फ़ील्ड TEXT या FILE, एक file picker के साथ), Raw, XML, HTML, JavaScript, Binary (एक raw फ़ाइल भेजें), और GraphQL।

जहाँ भी आप कोई value टाइप कर सकते हैं — URL, headers, body, auth, cookies — वहाँ आप एक {{variable}} डाल सकते हैं और यह भेजते समय interpolate हो जाता है (इस पर आगे और बात)।

Authentication, पूरी सूची

यहीं मोबाइल API क्लाइंट अक्सर कम पड़ जाते हैं। PocketCode दस auth स्कीम को सपोर्ट करता है, जो आम कार्ड और एक advanced सेक्शन में बँटी हैं:

  • आम: None, Bearer (token + custom prefix), Basic, API Key (Header या Query Param के विकल्प के साथ)।
  • Advanced: OAuth2 (Authorization Code, Client Credentials, Password या Implicit grants), Digest, AWS Signature v4 (access key, secret, region, service, session token), Hawk, NTLM, और एक पूरी तरह से Custom header।

अगर आप AWS के विरुद्ध requests को साइन करते हैं या किसी एंटरप्राइज़ NTLM endpoint पर पहुँचते हैं, तो आप यह फ़ोन से कर सकते हैं — कोई समझौता नहीं।

स्क्रिप्ट और टेस्ट

हर request के आसपास दो JavaScript hooks चलते हैं:

  • एक pre-request script भेजने से पहले चलती है — variables को बदलें, एक timestamp की गणना करें, एक signature जनरेट करें।
  • एक test script response के बाद चलती है, व्यापक रूप से अपनाए गए pm.test, pm.expect, pm.response assertion API का उपयोग करते हुए।

पहले से बने assertions का एक मेन्यू है ताकि आपको उन्हें हाथ से लिखना न पड़े: status is 200, status is 2xx, response time < 500 ms, has JSON body, body not empty, has Content-Type header, JSON schema validation, body contains string, और array length > 0। एडिटर के नीचे एक console पैनल सब कुछ LOG / INFO / WARN / ERROR स्तरों पर लॉग करता है।

response पढ़ना

response पैनल ऊपर आपको वे संख्याएँ देता है जो मायने रखती हैं — status code (रेंज के अनुसार एक रंग के साथ), मिलीसेकंड में कुल समय, body का आकार, और तय हुआ प्रोटोकॉल साथ ही remote IP। उसके नीचे, टैब:

टैबआपको क्या मिलता है
BodyPretty (फ़ॉर्मैट किया JSON/XML/HTML), Raw, Preview (रेंडर किया HTML), और JSON के लिए एक खुलने-बंद होने वाला Tree व्यू
Headersकॉपी करने में आसान एक टेबल
CookiesSecure / HttpOnly बैज वाली पंक्तियाँ
TimelineDNS · TCP · TLS · TTFB · content transfer
TestsAssertion परिणाम (नाम, pass/fail, अवधि)
Infoमेटाडेटा और पूरी redirect शृंखला

आप body को कॉपी कर सकते हैं, शेयर कर सकते हैं, सेव कर सकते हैं, या highlight किए गए मैचों के साथ उसके भीतर खोज सकते हैं — छोटी स्क्रीन पर बड़ा काम का।

REST से आगे

  • WebSocket कनेक्शन SENT / RECEIVED संदेशों का चैट-शैली इतिहास दिखाते हैं, custom handshake headers और subprotocols को सपोर्ट करते हैं, TEXT / BINARY / PING / PONG / CLOSE फ़्रेम संभालते हैं, और auto-reconnect के साथ-साथ सेव किए गए message templates देते हैं जिन्हें आप दोबारा भेज सकते हैं।
  • GraphQL में JSON variables और एक वैकल्पिक operation name के साथ एक query एडिटर, एक Fetch Schema बटन जो introspection चलाता है, और types, fields और arguments के लिए एक schema explorer है।
  • SSE स्ट्रीम एक लाइव event timeline (id, type, data, timestamp, retry) में आती हैं, एक filter के साथ, ऐसा auto-reconnect जो server के retry का सम्मान करता है, और स्ट्रीम को फिर से शुरू करने के लिए Last-Event-ID ट्रैकिंग।

व्यवस्थित रहना

  • Collections पदानुक्रमित हैं — collection → nested folders → requests — खोज, rename/delete के साथ, और किसी भी request को वापस एडिटर में लोड करने के लिए एक टैप।
  • History आपके चलाए हर request को रखता है, URL या नाम से खोजा जा सकता है, मेथड या "starred only" से फ़िल्टर किया जा सकता है, और Today / Yesterday / This week / Older में समूहित किया गया है। अलग-अलग एंट्री को Star, दोबारा भेजें या delete करें।
  • Environments {{variable}} सेट को मैनेज करते हैं। हर variable का एक initial और एक current value, एक विवरण, एक enabled टॉगल, एक isSecret फ़्लैग जो value को छिपाता है, और एक scope (Global / Environment / Collection / Local) होता है। समाधान Local → Collection → Environment → Global के क्रम में होता है।
  • एक स्थायी cookie jar हर Set-Cookie से ख़ुद को भर लेता है और Secure / HttpOnly बैज दिखाता है।

पावर टूल्स

  • cURL, Postman v2.1, Insomnia, OpenAPI 3.0 / Swagger (JSON या YAML) और HAR से Import करें। Export उस सूची में Markdown जोड़ देता है।
  • Code Generator मौजूदा request को ~20 भाषाओं और HTTP क्लाइंट के लिए पेस्ट-करने-को-तैयार कोड में बदल देता है — cURL, HTTPie, Wget, Fetch, Axios, Node, Python requests, Java OkHttp, Swift URLSession, Go net/http, PHP, Ruby, C#, Rust, Dart, PowerShell और भी बहुत कुछ — imports, headers, body और auth शामिल।
  • एक लोकल Mock Server (Pro प्लान का हिस्सा) डिवाइस पर एक HTTP server खड़ा करता है (डिफ़ॉल्ट port 8090) जहाँ हर route एक मेथड, path pattern (/users/:id), status, headers, body और एक सिम्युलेटेड देरी परिभाषित करता है — आने वाली कॉल के एक लाइव लॉग के साथ।

आपका डेटा डिवाइस पर ही रहता है

Collections, history, environments और cookies आपके फ़ोन पर एक लोकल डेटाबेस में संग्रहीत होते हैं — हम आपके requests या connection डेटा को कभी अपने servers पर नहीं रखते। डेवलपमेंट के लिए आप self-signed certs के लिए SSL verification बंद कर सकते हैं, एक HTTP/HTTPS/SOCKS proxy के ज़रिए route कर सकते हैं, या एक client certificate जोड़ सकते हैं। और चूँकि यह IDE का हिस्सा है, जब आप अपने APIs के बारे में पूछते हैं तो AI असिस्टेंट आपके collections को भी देख सकता है।


API को टेस्ट करने का मतलब हुआ करता था "अपने कंप्यूटर पर वापस जाओ।" अब ऐसा नहीं है। PocketCode एक पेशेवर HTTP क्लाइंट — REST, WebSocket, GraphQL और SSE — उसी ऐप में रखता है जहाँ आप कोड लिखते और शिप करते हैं।

PocketCode Google Play की ओर बढ़ रहा है। अपने ख़ुद के डिवाइस पर इसे सबसे पहले आज़माने वालों में शामिल होने के लिए प्री-रजिस्ट्रेशन में शामिल हों

इस लेख के पीछे का टूल

API टेस्टर

PocketCode आज़माने के लिए तैयार हैं?

ऐप डाउनलोड करें और अपने फ़ोन से कोडिंग शुरू करें।