前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >FastAPI后台开发基础(18): 多层路由

FastAPI后台开发基础(18): 多层路由

原创
作者头像
bowenerchen
发布2024-11-19 22:17:16
发布2024-11-19 22:17:16
10600
代码可运行
举报
文章被收录于专栏:编码视界编码视界
运行总次数:0
代码可运行

示例代码

子路由1

代码语言:python
代码运行次数:0
复制
from __future__ import annotations

from fastapi import APIRouter

router_1 = APIRouter(prefix = '/api/r1')


@router_1.get('/hello_r')
def hello_r():
    return {'message': 'Hello Router 1'}

子路由2

代码语言:python
代码运行次数:0
复制
from __future__ import annotations

import uvicorn
from fastapi import APIRouter, FastAPI

router_2 = APIRouter(prefix = '/api/r2')

@router_2.get('/hello_r2')
def hello_r2():
    return {'message': 'Hello Router 2'}

顶层路由

代码语言:python
代码运行次数:0
复制
from __future__ import annotations

import uvicorn
from fastapi import FastAPI

from routers.router_1 import router_1
from routers.router_2 import router_2

app = FastAPI()

"""
curl -X 'GET' \
  'http://127.0.0.1:18081/main/api/r1/hello_r' \
  -H 'accept: application/json'

{
  "message": "Hello Router 1"
}
"""
app.include_router(router_1, prefix = '/main', tags = ['router_1'])

"""
curl -X 'GET' \
  'http://127.0.0.1:18081/main/api/r2/hello_r2' \
  -H 'accept: application/json'
  
{
  "message": "Hello Router 2"
}
"""
app.include_router(router_2, prefix = '/main', tags = ['router_2'])

if __name__ == '__main__':
    uvicorn.run(app, host = '127.0.0.1', port = 18081)

路由层级示例

多层路由示例
多层路由示例

运行效果

子路由 1
子路由 1
子路由 2
子路由 2

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 示例代码
    • 子路由1
    • 子路由2
    • 顶层路由
  • 路由层级示例
  • 运行效果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档