Air框架路由系统全攻略从基础到高级路由配置【免费下载链接】airThe first web framework designed for AI to write. Built on Python, FastAPI, Pydantic, and HTMX. By the authors of Two Scoops of Django.项目地址: https://gitcode.com/gh_mirrors/air23/airAir框架是专为AI编写设计的Web框架基于Python、FastAPI、Pydantic和HTMX构建。其路由系统提供了灵活而强大的方式来组织和管理Web应用的URL路径是构建现代化Web应用的核心组件。路由基础快速上手Air路由Air框架的路由系统设计简洁直观让开发者能够轻松定义URL路径与处理函数之间的映射关系。无论是简单的页面路由还是复杂的API端点Air都提供了一致的语法和强大的功能。基本路由定义使用Air框架创建基本路由非常简单。下面是一个最基础的路由示例import air app air.Air() app.page def index(): return air.H1(Hello, World!)这段代码创建了一个基本的Air应用并定义了一个根路径(/)的路由。当用户访问网站根目录时将看到Hello, World!的标题。AirRouter模块化路由管理对于较大的应用将所有路由都定义在一个文件中会变得难以维护。Air提供了AirRouter类来帮助实现路由的模块化管理。通过AirRouter你可以将相关的路由组织在一起然后在主应用中包含这些路由。# cart.py import air router air.AirRouter() router.page def cart(): return air.H1(I am a shopping cart)然后在主应用中包含这个路由import air from cart import router as cart_router app air.Air() app.include_router(cart_router) app.page def index(): return air.H1(Home page)这种方式可以让你的代码更加组织化便于维护和扩展。路由器还允许共享会话和其他应用状态使不同模块之间的协作更加无缝。高级路由配置掌握Air路由技巧Air框架的路由系统不仅支持基本的路由定义还提供了许多高级功能帮助你构建更灵活、更强大的Web应用。URL参数与路径生成在Web应用中经常需要处理包含动态参数的URL。Air框架通过其路由系统简化了这一过程。你可以在路由路径中使用花括号{}来定义参数然后在处理函数中接收这些参数。router.get(/profile/{username}) def profile_page(username: str): return air.H1(fProfile page {username})为了避免手动拼接URL可能带来的错误Air提供了.url()方法来生成URL。这个方法会自动处理参数的编码和路径的构建app.page def index(): return air.H1(fProfile URL: {profile_page.url(usernamejohndoe)})查询参数处理除了URL路径参数Air还支持查询参数的处理。你可以使用air.Query()来定义查询参数它会自动处理参数的验证和类型转换import air app air.Air() app.get(/search) def search(q: str air.Query(), page: int air.Query(1)): return air.H1(fSearch: {q} (page {page}))生成包含查询参数的URL也很简单只需在.url()方法中传入query_params参数app.page def index(): return air.Div( air.A(Search, hrefsearch.url(query_params{q: air, page: 1})) )路径分隔符自定义Air框架允许你自定义路径分隔符这对于构建更友好的URL结构非常有用。默认情况下Air使用连字符-作为路径分隔符但你可以根据需要更改为其他字符如斜杠/# 使用默认的连字符分隔符 router air.AirRouter() # default path separator - router.page def about_us(): return air.H1(About us!) # 访问路径: /about-us # 自定义为斜杠分隔符 router air.AirRouter(path_separator/) router.page def about_us(): return air.H1(About us!) # 访问路径: /about/us路由前缀为了更好地组织路由Air允许你为路由器设置前缀。这在构建API版本或区分不同功能模块时特别有用router air.AirRouter(prefix/api) router.get(/users) def get_users(): return air.H1(User List) # 访问路径: /api/users设置前缀时需要注意前缀必须以/开头且不能以/结尾。Air会自动验证这些规则确保你的路由配置正确无误。HTTP方法与路由全面支持RESTful APIAir框架的路由系统全面支持各种HTTP方法使你能够轻松构建符合RESTful设计原则的API。基本HTTP方法Air提供了装饰器来支持各种HTTP方法包括GET、POST、PUT、PATCH和DELETErouter air.AirRouter() router.get(/items/{item_id}) def get_item(item_id: int): return air.H1(fGet item {item_id}) router.post(/items) def create_item(): return air.H1(Create item) router.put(/items/{item_id}) def update_item(item_id: int): return air.H1(fUpdate item {item_id}) router.patch(/items/{item_id}) def partial_update_item(item_id: int): return air.H1(fPartial update item {item_id}) router.delete(/items/{item_id}) def delete_item(item_id: int): return air.H1(fDelete item {item_id})HEAD请求支持Air框架自动为所有GET路由添加HEAD请求支持。这对于优化性能和满足某些爬虫的需求非常有用app.page def index(): return air.H1(Hello, World!) # 不需要额外代码Air自动支持HEAD请求 # client.head(/) 将返回200状态码和正确的headersHEAD请求会返回与GET请求相同的状态码和 headers但响应体为空这符合HTTP规范同时可以减少网络传输量。路由测试与调试确保路由正确工作为了确保你的路由配置正确无误Air框架提供了多种测试和调试工具。单元测试Air与pytest无缝集成你可以使用TestClient来测试你的路由from fastapi.testclient import TestClient def test_air_routing(): app air.Air() app.page def index(): return air.H1(Hello, World!) client TestClient(app) response client.get(/) assert response.status_code 200 assert response.text h1Hello, World!/h1错误处理Air提供了强大的错误处理机制包括404页面未找到等常见错误def test_air_router_default_404_handler(): router air.AirRouter(prefix/api) router.get(/exists) def exists(): return air.H1(exists) client TestClient(router) response client.get(/api/not-found) assert response.status_code 404 assert The requested resource was not found on this server. in response.text总结Air路由系统的优势Air框架的路由系统提供了丰富的功能和灵活的配置选项使开发者能够轻松构建从简单到复杂的Web应用。其主要优势包括简洁直观的APIAir的路由定义语法简洁明了降低了学习曲线。模块化设计通过AirRouter实现路由的模块化管理提高代码的可维护性。强大的参数处理支持路径参数和查询参数自动处理验证和类型转换。灵活的URL生成.url()方法简化了URL的构建减少了手动拼接可能带来的错误。全面的HTTP方法支持支持GET、POST、PUT、PATCH、DELETE等多种HTTP方法满足RESTful API设计需求。无缝集成测试工具与pytest和TestClient的良好集成便于编写单元测试。通过掌握Air框架的路由系统你可以构建出结构清晰、功能强大的Web应用为用户提供出色的体验。无论你是构建简单的个人网站还是复杂的企业级应用Air的路由系统都能满足你的需求。要开始使用Air框架你可以通过以下命令克隆仓库git clone https://gitcode.com/gh_mirrors/air23/air更多关于Air路由系统的详细信息请参考官方文档docs/api/routing.md。【免费下载链接】airThe first web framework designed for AI to write. Built on Python, FastAPI, Pydantic, and HTMX. By the authors of Two Scoops of Django.项目地址: https://gitcode.com/gh_mirrors/air23/air创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考