Python中如何使用Xweb-Router路由插件
xweb-router
Router middleware for xweb
基本用法
from xweb import App
from xweb_router import Router
app = App()
router = Router()
app.use(router)
@router.get(’/’)
async def home(ctx):
ctx.body = “Home”
if name == ‘main’:
app.listen(8000)
路由插件
from xweb import App
from xweb_router import Router
app = App()
router = Router()
app.use(router)
@router.use(’/’)
async def middleware(ctx, fn):
“”“Router Middleware”""
print(‘middleware’)
await fn()
@router.get(’/’)
async def home(ctx):
ctx.body = “Home”
if name == ‘main’:
app.listen(8000)
动态参数
from xweb import App
from xweb_router import Router
app = App()
router = Router()
@router.get(’/{name}’)
async def hello(ctx):
“”“URL parameters”""
ctx.body = f"Hello {ctx.params.name}"
if name == ‘main’:
app.listen(8000)
嵌套路由
from xweb import App
from xweb_router import Router
app = App()
router = Router()
nested = Router()
app.use(router)
router.use(’/post’)(nested)
@nested.get(’/index’)
async def index(ctx):
ctx.body = “Nested Index”
if name == ‘main’:
app.listen(8000)
Github: xweb-router
Python中如何使用Xweb-Router路由插件
Xweb-Router是个轻量级的路由库,用起来挺简单的。先安装:pip install xweb-router。
基本用法就是定义路由函数,然后启动服务:
from xweb_router import Router, run
app = Router()
@app.route('/')
def home():
return 'Hello, Xweb-Router!'
@app.route('/user/<name>')
def user(name):
return f'Hello, {name}!'
if __name__ == '__main__':
run(app, port=8000)
这里<name>是动态参数,访问/user/john就会显示"Hello, john!"。
支持GET、POST这些方法:
@app.route('/api/data', methods=['POST'])
def post_data():
# 处理POST请求
return 'Data received'
路由分组可以用Router嵌套:
api = Router()
@api.route('/users')
def get_users():
return 'User list'
app.add_router('/api', api)
这样/api/users就映射到get_users函数了。
中间件也支持,比如加个简单的日志:
@app.middleware
async def log_middleware(request, next_handler):
print(f'Request: {request.path}')
return await next_handler(request)
总结:Xweb-Router用起来挺直观的,适合快速搭建Web服务。

