当前位置: 首页> 娱乐> 八卦 > 办公室装修设计创意图_seo网站推广有哪些_网络整合营销方案_线下推广方式有哪些

办公室装修设计创意图_seo网站推广有哪些_网络整合营销方案_线下推广方式有哪些

时间:2025/7/9 17:32:41来源:https://blog.csdn.net/weixin_52392194/article/details/144177226 浏览次数:0次
办公室装修设计创意图_seo网站推广有哪些_网络整合营销方案_线下推广方式有哪些

Python Web 开发:FastAPI 基本概念与应用

目录

  • 1. FastAPI 路由(定义请求路径)
  • 🚀 2. HTTP 请求方法(GET、POST、PUT、DELETE)
  • 🔑 3. 参数类型(路径参数、查询参数、请求体)
    • 🌍 查询参数(query
    • 🛣️ 路径参数(path
    • 📝 请求体(body

✨ 1. FastAPI 路由(定义请求路径)

在 FastAPI 中,路由是定义在应用实例上的一组函数,用于响应 HTTP 请求。路由的核心是通过 URL 路径和 HTTP 请求方法来匹配请求,这些请求会由相应的函数处理。每个路由装饰器(如 @app.get()@app.post())都代表一个特定的请求路径和 HTTP 方法。

路由基本定义

FastAPI 提供了简单而强大的路由机制。定义一个基本的路由时,只需在 FastAPI 实例上使用装饰器来指定 HTTP 方法和路径。以下是一个最简单的示例:

# app/main.py
from fastapi import FastAPI# 创建 FastAPI 应用实例
app = FastAPI()# 定义一个 GET 路由
@app.get("/")
def read_root():return {"message": "Welcome to FastAPI!"}

在上述代码中,我们通过 @app.get("/") 定义了一个根路径的 GET 请求,当访问 http://127.0.0.1:8000/ 时,会返回 JSON 响应 {"message": "Welcome to FastAPI!"}

动态路由与路径参数

FastAPI 路由也支持动态路径参数,这使得可以通过 URL 路径传递信息。这些参数可以用于获取数据库中的特定资源,或者进行其他计算。

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

在这个例子中,{item_id} 表示一个路径参数。当访问 http://127.0.0.1:8000/items/42 时,FastAPI 会将路径中的 42 传递给 item_id 变量。

多路径和多方法支持

一个 FastAPI 路由不仅支持单一的路径和方法,实际上,可以为同一路径配置多种 HTTP 方法,比如 GETPOST 方法,用于处理不同类型的请求。以下是如何为同一路径添加多个路由:

@app.get("/items/{item_id}")
def read_item(item_id: int):return {"message": f"Fetching item {item_id}"}@app.post("/items/{item_id}")
def create_item(item_id: int):return {"message": f"Creating item {item_id}"}

在这个示例中,同一个路径 /items/{item_id} 通过 GETPOST 方法分别提供不同的服务。GET 方法用于获取项目,而 POST 方法用于创建项目。

路由分组与组织

对于复杂应用,随着功能增加,路由管理也会变得更加复杂。FastAPI 提供了路由分组的功能,可以通过 APIRouter 来组织路由,将相关功能的路由分配到不同的模块中。例如,可以创建一个用于管理用户的路由模块,另一个用于处理商品数据的路由模块。

from fastapi import APIRouterrouter = APIRouter()@router.get("/users/{user_id}")
def read_user(user_id: int):return {"user_id": user_id}# 将子路由注册到主应用
app.include_router(router)

通过这种方式,开发者可以保持路由结构的清晰和可维护性,避免单一文件中路由过多导致的代码混乱。


🚀 2. HTTP 请求方法(GET、POST、PUT、DELETE)

在 Web 开发中,不同的 HTTP 请求方法有不同的用途,它们是 HTTP 协议的一部分,用来指示客户端请求的意图。在 FastAPI 中,可以通过不同的路由装饰器来定义不同的 HTTP 方法。

GET 请求

GET 请求是最常见的 HTTP 方法,用于请求资源。它通常用于获取数据或展示信息,而不会对服务器上的数据进行任何修改。FastAPI 使用 @app.get() 来处理 GET 请求。

@app.get("/items/{item_id}")
def get_item(item_id: int):return {"item_id": item_id, "name": "Example Item"}

GET 请求通常是无副作用的,也就是说,它不会修改服务器上的任何数据。它只是请求某些数据。

POST 请求

GET 请求不同,POST 请求通常用于提交数据,以便服务器进行处理。这类请求会改变服务器的状态,通常用于创建新的资源。FastAPI 使用 @app.post() 来处理 POST 请求。

@app.post("/items/")
def create_item(item: dict):return {"message": "Item created", "item": item}

在这个例子中,POST 请求用于接收一个 JSON 数据,并返回创建的项的信息。POST 请求通常用于向服务器提交表单数据,或创建新的资源。

PUT 请求

PUT 请求用于更新现有的资源。与 POST 请求不同,PUT 请求通常是幂等的,意味着多次执行同样的 PUT 请求不会导致不同的结果。FastAPI 使用 @app.put() 来处理 PUT 请求。

@app.put("/items/{item_id}")
def update_item(item_id: int, item: dict):return {"message": f"Item {item_id} updated", "item": item}

PUT 请求接收的数据通常是完整的资源数据,它会替换服务器上指定资源的当前状态。

DELETE 请求

DELETE 请求用于删除服务器上的资源。当客户端发送一个 DELETE 请求时,通常是请求服务器删除某个指定的资源。FastAPI 使用 @app.delete() 来处理 DELETE 请求。

@app.delete("/items/{item_id}")
def delete_item(item_id: int):return {"message": f"Item {item_id} deleted"}

DELETE 请求通常用于从数据库中删除指定的数据,或者清理服务器上的某些资源。

小结

通过 GETPOSTPUTDELETE 等 HTTP 请求方法,FastAPI 为开发者提供了处理不同类型请求的灵活性。在实际开发中,了解并正确使用这些请求方法对于设计良好的 API 至关重要。通过合理的 HTTP 方法使用,可以确保 API 的语义清晰且符合 RESTful 风格。


🔑 3. 参数类型(路径参数、查询参数、请求体)

FastAPI 提供了强大的参数类型支持,能够非常简便地处理 URL 路径、查询参数以及请求体的参数。这些参数可以帮助开发者在处理请求时灵活获取数据。

🌍 查询参数(query

查询参数通常出现在 URL 的 ? 后面,并且以 key=value 的形式传递给服务器。在 FastAPI 中,查询参数会自动被映射为函数的参数,可以使用默认值来定义可选的查询参数。

@app.get("/items/")
def read_items(skip: int = 0, limit: int = 10):return {"skip": skip, "limit": limit}

在这个例子中,skiplimit 是查询参数,它们的默认值分别是 010。当请求 URL 为 http://127.0.0.1:8000/items/?skip=5&limit=15 时,FastAPI 会将 skip 设置为 5limit 设置为 15

查询参数通常用于分页、筛选和排序等场景。通过为查询参数提供默认值,FastAPI 可以轻松实现这些常见的功能。

🛣️ 路径参数(path

路径参数是在 URL 路径中传递的变量,它们用于标识请求的特定资源。路径参数通常出现在 URL 中的 {} 中,在 FastAPI 中,我们可以通过定义路径参数来动态地处理不同的资源。

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

在这个例子中,item_id 是路径参数,FastAPI 会自动从 URL 中提取路径参数的值,并将其传递给处理函数。在访问 http://127.0.0.1:8000/items/42 时,item_id 会被自动解析为 42

路径参数通常用于资源标识符,它们是 URL 的一部分,必须匹配请求的路径。

📝 请求体(body

请求体通常用于发送更复杂的数据,特别是 POSTPUTPATCH 请求。

请求体可以是 JSON 格式的对象、表单数据或文件。FastAPI 支持通过 Pydantic 模型来验证和解析请求体。

from pydantic import BaseModelclass Item(BaseModel):name: strdescription: str = Noneprice: float@app.post("/items/")
def create_item(item: Item):return {"item": item}

在这个例子中,Item 是一个 Pydantic 模型,它自动验证请求体的数据结构是否符合要求。FastAPI 会自动将请求体的 JSON 数据转换为 Item 实例,并传递给处理函数。

请求体通常用于提交复杂的数据,比如创建或更新资源时所需的信息。

小结

FastAPI 提供了非常灵活的参数处理机制,通过路径参数、查询参数和请求体,开发者可以轻松地从不同的 HTTP 请求中提取数据,并根据需要进行处理。通过自动验证和类型注解,FastAPI 确保了数据的完整性和正确性,减少了开发者的负担。


关键字:办公室装修设计创意图_seo网站推广有哪些_网络整合营销方案_线下推广方式有哪些

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: