गाइड

लुकअप में कोई परिणाम न मिलने पर फ़ॉलबैक सेट करें

जो अनुरोध सफलतापूर्वक लौटता है पर जिसके अंदर कोई उपयोगी परिणाम नहीं होता, उसे गलत तरीके से संभालना आसान है, क्योंकि HTTP स्तर पर वह विफलता जैसा नहीं दिखता, बस उसमें वह जवाब नहीं होता जिसकी आप उम्मीद कर रहे थे।

खाली परिणाम कैसा दिखता है

बहुत अस्पष्ट या पूरी तरह काल्पनिक चीज़ की फ़ॉरवर्ड जियोकोडिंग खोज एक खाली results array के साथ 200 स्टेटस लौटाती है, कोई एरर कोड नहीं।

GET /v1/forward?q=xyzzy nonexistent place&limit=1
{
  "status": "ok",
  "query": "xyzzy nonexistent place",
  "results": []
}

किसी आवंटित न की गई या निजी रेंज के पते का IP लुकअप एरर के बजाय found: false लौटाता है, साथ में वे फ़ील्ड भी जिन्हें वह फिर भी भर सकता है।

{
  "status": "ok",
  "ip": "10.0.0.5",
  "version": 4,
  "found": false
}

एक स्पष्ट फ़ॉलबैक रास्ता बनाना

खाली results array, या found: false, की जाँच अपने कोड में एक अलग शाखा के रूप में करें, जो सफलता वाले रास्ते से भी अलग हो और 4xx और 5xx रिस्पॉन्स के एरर हैंडलिंग रास्ते से भी। सोच-समझकर तय करें कि आगे क्या होगा: उपयोगकर्ता से अपना इनपुट सुधारने को कहें, ज़्यादा ऊँची limit के साथ व्यापक खोज पर जाएँ, या खाली जगह या भ्रामक डिफ़ॉल्ट मान के बजाय साफ़ "लोकेशन नहीं मिली" संदेश दिखाएँ।

आम कारण जिन्हें सबसे पहले जाँचना चाहिए

सच में मौजूद न होने वाली जगह एक कारण है, लेकिन खराब फ़ॉर्मैट वाली इनपुट स्ट्रिंग, टाइपो, या ऐसी क्वेरी जिसमें अनपेक्षित रूप से भाषाएँ या लिपियाँ मिल गई हों, वास्तव में मौजूद पते के लिए भी खाली परिणाम दे सकती है। यह मानने से पहले कि लोकेशन खुद मौजूद नहीं है, सोचें कि क्या इनपुट को नॉर्मलाइज़ करने या countries पैरामीटर सेट करके आज़माने से यह हल हो जाएगा।

खाली परिणामों को अलग से लॉग करना

ट्रैक करें कि आपका इंटीग्रेशन कितनी बार खाली परिणाम वाले रास्ते पर पहुँचता है, अपनी एरर दर से अलग। खाली परिणामों की बढ़ती दर अक्सर लुकअप में किसी गड़बड़ी की बजाय पहले के चरण में डेटा गुणवत्ता की समस्या की ओर इशारा करती है, यानी पते किस तरह इकट्ठा या फ़ॉर्मैट किए जा रहे हैं।

बिना परिणाम वाले लुकअप की लागत

खाली परिणाम की लागत भी एक अनुरोध है, सफल मिलान जितनी ही, क्योंकि लुकअप दोनों ही सूरत में किया गया। खाली लौटने वाले लुकअप के लिए कोई अलग रियायती दर नहीं है।

खाली परिणाम को एरर हैंडलिंग में बाद में जोड़ी गई चीज़ के बजाय अपने आप में एक सोचा-समझा नतीजा मानना, इंटीग्रेशन को काफ़ी ज़्यादा मज़बूत बनाता है। एरर पेज असली एरर रिस्पॉन्स के बारे में है, जबकि खाली परिणाम हर एंडपॉइंट के सामान्य रिस्पॉन्स ढाँचे के साथ दस्तावेज़ित हैं, जैसे फ़ॉरवर्ड जियोकोडिंग दस्तावेज़