Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie Pfadparameter in FastAPI für parametrisierte Anforderungen

So verwenden Sie Pfadparameter in FastAPI für parametrisierte Anforderungen

王林
王林Original
2023-07-28 15:13:461179Durchsuche

So verwenden Sie Pfadparameter in FastAPI für parametrisierte Anfragen

FastAPI ist ein schnelles (hohe Leistung), einfach zu verwendendes und modernes Web-Framework, das auf Basis von Standard-APIs entwickelt wurde (z. B. mit Pydantic und OpenAPI). In FastAPI können wir Pfadparameter verwenden, um Anforderungen zu parametrisieren, um unterschiedliche Anforderungen besser verarbeiten zu können.

Ein Pfadparameter bezieht sich auf den Teil der URL, der eine bestimmte Instanz einer Ressource identifiziert. Die Verwendung von Pfadparametern kann uns helfen, je nach Bedarf spezifische Daten von der Web-API zu erhalten. Im Folgenden wird die Verwendung von Pfadparametern zur Durchführung parametrisierter Anforderungen in FastAPI vorgestellt und entsprechende Codebeispiele bereitgestellt.

Zuerst müssen wir die Module FastAPI und Path importieren und ein app-Objekt erstellen: FastAPIPath模块,并创建一个app对象:

from fastapi import FastAPI, Path

app = FastAPI()

接下来,我们可以在路由路径中定义路径参数。路径参数是由花括号包围的字符串,我们可以在其中定义参数的名称和数据类型。例如,我们可以定义一个item_id的路径参数:

@app.get("/items/{item_id}")
async def read_item(item_id: int):
    return {"item_id": item_id}

在上面的例子中,我们定义了一个/items/{item_id}的路由路径,并将路径参数item_id的数据类型定义为int。在函数参数中,我们可以直接使用路径参数的名称item_id来获取该值。

当我们向服务器发送请求 /items/42时,FastAPI将自动将路径参数的值传递给相应的函数,并将其作为参数的值返回。在上面的例子中,将返回一个JSON对象,该对象包含参数的名称和值:

{"item_id": 42}

我们还可以为路径参数指定其他参数。例如,我们可以指定路径参数的最小值和最大值。下面是一个示例:

@app.get("/users/{user_id}")
async def read_user(user_id: int = Path(..., ge=1, le=100)):
    return {"user_id": user_id}

在上面的例子中,我们使用了gele两个参数限制了user_id的范围,表示user_id的值必须大于等于1且小于等于100。如果我们发送的请求中user_id超出了这个范围,FastAPI将会发送一个HTTP异常响应。

除了常规的数据类型,我们还可以使用枚举类型作为路径参数的数据类型。下面是一个示例:

from enum import Enum

class Size(str, Enum):
    small = "small"
    medium = "medium"
    large = "large"

@app.get("/items/{item_id}/size/{size}")
async def read_item_size(item_id: int, size: Size):
    return {"item_id": item_id, "size": size}

在上面的例子中,我们定义了一个Size枚举类,并将其作为参数size的数据类型。当我们发送请求 /items/42/size/small 时,FastAPI将会将路径参数的值传递给相应的函数,并将其作为参数的值返回。

使用路径参数进行参数化请求是使用FastAPI处理Web API中不同请求的重要技术之一。通过路径参数,我们可以定义不同的路由路径,并根据不同的需求从服务器中获取特定的数据。在上述示例中,我们演示了如何使用路径参数进行参数化请求,并提供了对应的代码示例。

总结一下,在FastAPI中使用路径参数进行参数化请求的步骤如下:

  1. 导入Path模块和FastAPI库。
  2. 创建一个apprrreee
  3. Als nächstes können wir den Pfad weiterleiten Definieren Sie Pfadparameter in . Ein Pfadparameter ist eine von geschweiften Klammern umgebene Zeichenfolge, in der wir den Namen und den Datentyp des Parameters definieren können. Beispielsweise können wir einen Pfadparameter von item_id definieren:
  4. rrreee
  5. Im obigen Beispiel definieren wir einen Routing-Pfad von /items/{item_id und fügen die Daten hinzu Der Typ des Pfadparameters item_id ist als int definiert. In den Funktionsparametern können wir direkt den Namen des Pfadparameters item_id verwenden, um den Wert zu erhalten.
  6. Wenn wir eine Anfrage an den Server /items/42 senden, übergibt FastAPI automatisch den Wert des Pfadparameters an die entsprechende Funktion und gibt ihn als Wert des Parameters zurück. Im obigen Beispiel wird ein JSON-Objekt zurückgegeben, das den Namen und den Wert des Parameters enthält:
rrreee

Wir können auch zusätzliche Parameter für den Pfadparameter angeben. Beispielsweise können wir Mindest- und Höchstwerte für Pfadparameter angeben. Hier ist ein Beispiel:

rrreee

Im obigen Beispiel verwenden wir die beiden Parameter ge und le, um den Bereich von user_id einzuschränken dass der Wert von user_id größer oder gleich 1 und kleiner oder gleich 100 sein muss. Wenn die user_id in der von uns gesendeten Anfrage diesen Bereich überschreitet, sendet FastAPI eine HTTP-Ausnahmeantwort.

    Neben regulären Datentypen können wir auch Aufzählungstypen als Datentypen für Pfadparameter verwenden. Hier ist ein Beispiel:
  • rrreee
  • Im obigen Beispiel definieren wir eine Size-Aufzählungsklasse und verwenden sie als Datentyp des Parameters size. Wenn wir eine Anfrage an /items/42/size/small senden, übergibt FastAPI den Wert des Pfadparameters an die entsprechende Funktion und gibt ihn als Wert des Parameters zurück.

Parametrisierte Anforderungen mithilfe von Pfadparametern sind eine der wichtigen Techniken zur Verwendung von FastAPI zur Verarbeitung verschiedener Anforderungen in der Web-API. Durch Pfadparameter können wir unterschiedliche Routing-Pfade definieren und je nach Bedarf spezifische Daten vom Server abrufen. Im obigen Beispiel demonstrieren wir, wie Pfadparameter zur Parametrisierung von Anforderungen verwendet werden, und stellen entsprechende Codebeispiele bereit.

🎜Zusammenfassend lauten die Schritte zur Verwendung von Pfadparametern zum Durchführen parametrisierter Anforderungen in FastAPI wie folgt: 🎜
    🎜Importieren Sie das Path-Modul und die FastAPI-Bibliothek. 🎜🎜Erstellen Sie ein app-Objekt als Instanz der Anwendung. 🎜🎜Definieren Sie Pfadparameter im Routingpfad und verwenden Sie geschweifte Klammern, um die Parameter einzuschließen. 🎜🎜In der entsprechenden Funktion können Sie direkt den Namen des Pfadparameters verwenden, um den Wert des Parameters abzurufen. 🎜🎜🎜Die Verwendung von Pfadparametern kann uns dabei helfen, unterschiedliche Anforderungen besser zu bearbeiten und bestimmte Daten genau vom Server abzurufen. 🎜🎜Referenz: 🎜🎜🎜[FastAPI-Dokumentation](https://fastapi.tiangolo.com/)🎜🎜🎜Ich hoffe, dieser Artikel ist hilfreich, damit Sie verstehen, wie Sie Pfadparameter verwenden, um parametrisierte Anforderungen in FastAPI zu stellen. 🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Pfadparameter in FastAPI für parametrisierte Anforderungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn