Python FastAPI中发送Request请求

FastAPI是一个基于Python的现代、快速(高性能)的web框架,用于构建API。它具有简单易用的语法和自动文档生成功能,使得开发API变得更加简单和高效。在FastAPI中,我们可以使用requests库来发送HTTP请求,并处理响应。

发送GET请求

首先,我们来看如何发送GET请求。通过requests.get()方法可以发送一个GET请求,并获取响应内容。下面的示例演示了如何使用FastAPI发送GET请求:

import requests

url = "
response = requests.get(url)

if response.status_code == 200:
    data = response.json()
    for user in data:
        print(user["name"])
else:
    print("请求失败")

上面的代码中,我们首先定义了一个URL,该URL指向一个返回用户数据的API。然后,我们使用requests.get()方法发送一个GET请求,并将响应存储在response变量中。如果请求成功(即状态码为200),我们可以使用response.json()方法将响应内容解析为JSON格式,并遍历用户数据。

发送POST请求

除了GET请求,我们还可以发送POST请求来向服务器发送数据。下面的示例演示了如何使用FastAPI发送POST请求:

import requests

url = "
data = {
    "name": "John Doe",
    "email": "johndoe@example.com"
}

response = requests.post(url, json=data)

if response.status_code == 201:
    print("用户创建成功!")
else:
    print("请求失败")

在上面的代码中,我们定义了一个URL和一个包含用户数据的字典。然后,我们使用requests.post()方法发送一个POST请求,并将用户数据作为JSON格式的请求体发送给服务器。如果请求成功(即状态码为201),则表示用户创建成功。

错误处理

在发送请求时,我们还需要考虑错误处理。例如,如果服务器返回的状态码不是200或201,表示请求失败。下面的代码演示了如何处理错误:

import requests

url = "
response = requests.get(url)

if response.status_code == 200:
    data = response.json()
    for user in data:
        print(user["name"])
elif response.status_code == 404:
    print("请求的资源不存在")
else:
    print("请求失败")

在上面的代码中,我们捕获了状态码为404的情况,打印出请求的资源不存在的提示。对于其他状态码,我们直接打印请求失败的提示。

总结

通过FastAPI和requests库,我们可以轻松地发送HTTP请求并处理响应。无论是发送GET请求还是POST请求,都非常简单。同时,我们还可以通过错误处理来处理不同的请求结果。希望本文对你理解和使用Python FastAPI中发送请求有所帮助。


stateDiagram
    [*] --> GET
    GET --> [*]

    [*] --> POST
    POST --> [*]

    [*] --> Error
    Error --> [*]
pie
    title 请求响应状态比例
    "成功" : 80
    "失败" : 20

参考资料

  • [FastAPI官方文档](
  • [Python requests文档](