त्रुटियों का प्रबंधन

FastAPI परिचय

Matt Eckerle

Software and Data Leader

त्रुटियाँ संभालने के दो मुख्य कारण

उपयोगकर्ता त्रुटि

  • अमान्य या पुराना URI
  • इनपुट गुम या गलत
@app.delete("/items")
def delete_item(item: Item):
    if item.id not in item_ids:
        # Return an error
    else:
        crud.delete_item(item)
        return {}

सर्वर त्रुटि

  • कुछ और गड़बड़ हुई
@app.delete("/items")
def delete_item(item: Item):
    try:
        crud.delete_item(item)
    except Exception:
        # Return an error
    return {}
FastAPI परिचय

HTTP स्टेटस कोड: “येलिंग” के स्तर

  • API को प्रतिक्रिया में स्टेटस बताने देता है
    • सफलता, विफलता, त्रुटि, आदि
  • HTTP प्रोटोकॉल में विशेष कोड परिभाषित
  • रेंज: 100 - 599
  • पहले अंक से श्रेणीकरण (1 -5)
  1. सूचनात्मक प्रतिक्रियाएँ (100 - 199)
  2. सफल प्रतिक्रियाएँ (200 - 299)
  3. पुनर्निर्देशन संदेश (300 - 399)
  4. क्लाइंट त्रुटि प्रतिक्रियाएँ (400 - 499)
  5. सर्वर त्रुटि प्रतिक्रियाएँ (500 - 599)
1 https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
FastAPI परिचय

सामान्य HTTP स्टेटस कोड

सफलता (200 - 299)

  • 200 OK
    • डिफ़ॉल्ट सफलता प्रतिक्रिया
  • 201 Created
    • POST के लिए विशिष्ट
  • 202 Accepted
    • गैर-बाध्यकारी। “काम जारी है”
  • 204 No Content
    • सफलता! बताने को कुछ नहीं

अन्य प्रतिक्रियाएँ

  • 301 Moved Permantently
    • URI स्थायी रूप से बदला
  • 400 Bad Request
    • क्लाइंट त्रुटि
  • 404 Not Found
    • सर्वर अनुरोधित संसाधन नहीं मिला
  • 500 Internal Server Error
    • सर्वर को ऐसी स्थिति मिली जिसे संभालना नहीं आता
FastAPI परिचय

स्टेटस कोड से त्रुटि प्रबंधन

from fastapi import FastAPI, HTTPException

app = FastAPI()

@app.delete("/items")
def delete_item(item: Item):
    if item.id not in item_ids:
        # Send response with status 404 and specific error message
        raise HTTPException(status_code=404, detail="Item not found.")
    else:
        delete_item_in_database(item)
        return {}
FastAPI परिचय

चलो अभ्यास करें!

FastAPI परिचय

Preparing Video For Download...