परिचय
वेब एप्लिकेशन बनाते समय, यह आवश्यक है HTTP स्थिति कोड को उचित रूप से संभालने के लिए। एक सामान्य स्थिति कोड जिसका आपको सामना करना पड़ सकता है वह है 404 नहीं मिला, जो इंगित करता है कि अनुरोधित संसाधन नहीं मिल सका। यह लेख वेब एपीआई बनाने के लिए एक आधुनिक पायथन फ्रेमवर्क फास्टएपीआई का उपयोग करके एक कस्टम 404 पेज वापस करने के विभिन्न तरीकों का पता लगाएगा।
अपवाद हैंडलर दृष्टिकोण
FastAPI एक सुविधाजनक तरीका प्रदान करता है अपने अपवाद प्रबंधन तंत्र के माध्यम से अपवादों को संभालने के लिए। आप 404 अपवाद को संभालने के लिए एक कस्टम हैंडलर परिभाषित कर सकते हैं और एक कस्टम प्रतिक्रिया लौटा सकते हैं।
@app.exception_handler(404)
async def not_found_exception_handler(request: Request, exc: HTTPException):
return RedirectResponse('https://fastapi.tiangolo.com')
वैकल्पिक रूप से, आप वैश्विक अपवाद हैंडलर को पंजीकृत करने के लिए फास्टएपीआई वर्ग के अपवाद_हैंडलर पैरामीटर का उपयोग कर सकते हैं।
async def not_found_error(request: Request, exc: HTTPException):
return RedirectResponse('https://fastapi.tiangolo.com')
exception_handlers = {404: not_found_error}
app = FastAPI(exception_handlers=exception_handlers)
मिडिलवेयर दृष्टिकोण
एक अन्य दृष्टिकोण एक मिडलवेयर बनाना है जो HTTP प्रतिक्रियाओं को रोकता है और स्थिति कोड की जांच करता है। यदि स्थिति कोड 404 है, तो प्रतिक्रिया क्लाइंट तक पहुंचने से पहले मिडलवेयर एक कस्टम प्रतिक्रिया लौटा सकता है।
@app.middleware("http")
async def redirect_on_not_found(request: Request, call_next):
response = await call_next(request)
if response.status_code == 404:
return RedirectResponse("https://fastapi.tiangolo.com")
else:
return response
कस्टम पेज प्रतिक्रिया
ऊपर उल्लिखित विधियों का उपयोग करके, आप एक सरल रीडायरेक्ट प्रतिक्रिया वापस कर सकते हैं। हालाँकि, आप एक टेम्प्लेट को परिभाषित करके और एक TemplateResponse लौटाकर एक अधिक अनुकूलित 404 पेज भी बना सकते हैं।
from fastapi.templating import Jinja2Templates
templates = Jinja2Templates(directory='templates')
async def not_found_error(request: Request, exc: HTTPException):
return templates.TemplateResponse('404.html', {'request': request}, status_code=404)
टेम्प्लेट निर्देशिका में, अपने कस्टम 404 पृष्ठ के लिए वांछित सामग्री के साथ एक 404.html टेम्पलेट बनाएं।
निष्कर्ष
अपवाद हैंडलर का लाभ उठाकर, मिडलवेयर, या कस्टम पेज प्रतिक्रियाएँ, आप फास्टएपीआई में एक कस्टम 404 नॉट फाउंड पेज आसानी से लागू कर सकते हैं। यह आपको अधिक उपयोगकर्ता-अनुकूल अनुभव प्रदान करने की अनुमति देता है जब अनुरोधित संसाधन नहीं मिल पाता है, जो आपके वेब एप्लिकेशन के समग्र उपयोगकर्ता अनुभव को बढ़ाता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3