Axum一条路线多个排除的URL参数类型
创始人
2024-09-29 09:30:04
0

在Axum中,可以通过在路由定义中使用/字符和:字符来指定路由参数。可以使用正则表达式来限制参数的类型和值。以下是一个示例代码,展示了如何定义一条路线具有多个排除的URL参数类型:

use axum::{prelude::*, Router};
use serde::Deserialize;

#[derive(Deserialize)]
struct RouteParams {
    id: u32,
    name: String,
}

async fn handler(params: extract::Path) -> String {
    format!("id: {}, name: {}", params.id, params.name)
}

fn main() {
    let app = Router::new().route(
        "/users/:id/:name",
        get(handler).exclude("name", "[0-9]+"),
    );

    axum::Server::bind(&"0.0.0.0:3000".parse().unwrap())
        .serve(app.into_make_service())
        .unwrap();
}

在上面的示例中,我们使用exclude方法来排除URL参数name的类型。在这个例子中,我们使用正则表达式[0-9]+来限制name参数只能是数字。这意味着如果在URL中提供的name参数不是一个数字,将返回一个404错误。

注意,我们在RouteParams结构体中使用了serde::Deserialize属性来自动解析URL参数。

运行这个示例代码后,可以通过访问http://localhost:3000/users/1/123来得到id: 1, name: 123的响应。但是,如果访问http://localhost:3000/users/1/abc,将会返回404错误,因为abc不是一个数字。

这是一个简单的示例,展示了如何在Axum中定义一条路线具有多个排除的URL参数类型。你可以根据自己的需求修改和扩展这个示例。

相关内容

热门资讯

辅助透视"wepok... 辅助透视"wepoker分析"详细辅助新版2025教程(辅助机器人透明);1分钟了解详细教程(微信 ...
透视app"hhpo... 透视app"hhpoker德州透视挂"详细辅助揭秘教程(透视有教程);hhpoker德州透视挂软件透...
透视讲解"hhpok... 透视讲解"hhpoker作弊码"详细辅助黑科技教程(模拟器哪个好用方法)准备好在hhpoker作弊码...
透视苹果版"拱趴大菠... 1、透视苹果版"拱趴大菠萝十三水作弊"详细辅助德州教程(辅助器方法);详细教程。2、拱趴大菠萝十三水...
辅助透视"德州局透视... 辅助透视"德州局透视脚本"详细辅助普及教程(私局辅助技巧)科技教程也叫必备教程,这是一款功能强大的德...
透视苹果版"wepo... 透视苹果版"wepoker新号好一点吗"详细辅助透视教程(智能辅助插件攻略)准备好在wepoker新...
透视中牌率"德普之星... 透视中牌率"德普之星怎么设置埋牌"详细辅助2025版教程(辅助机器人教程)是一款可以让一直输的玩家,...
透视好牌"拱趴大菠萝... 透视好牌"拱趴大菠萝挂怎么安装"详细辅助必备教程(永久免费脚本神器)是一款可以让一直输的玩家,快速成...
透视挂透视"wepo... 透视挂透视"wepoker代打辅助"详细辅助玩家教程(可以开辅助辅助);人气非常高,ai更新快且高清...
透视系统"德州局怎么... 这是一款非常优秀的德州局怎么透视 ia辅助检测软件,能够让你了解到德州局怎么透视中牌率当中全部隐藏参...