修改路由错误信息

This commit is contained in:
李运家 2024-10-03 11:43:07 +08:00
parent 8a28c0e577
commit 2c48ee6537

View File

@ -18,7 +18,7 @@ struct Args {
impl Parse for Args {
fn parse(input: ParseStream) -> syn::parse::Result<Self> {
let vars = Punctuated::<syn::Expr, syn::Token![,]>::parse_terminated(input)?;
Ok(Args {
vars: vars.into_iter().collect(),
})
@ -31,7 +31,7 @@ impl Args {
Some(var) => Ok(var.clone()),
None => return Err(syn::Error::new(
Span::call_site().into(),
"No Route was provided"
"route must have one argument"
))
}
}
@ -41,26 +41,26 @@ impl Args {
pub fn gen_route(attr: TokenStream, item: TokenStream) -> TokenStream {
let args = parse_macro_input!(attr as Args);
let func = parse_macro_input!(item as ItemFn);
let vis = func.vis.clone();
let ident = func.sig.ident.clone();
let method = args.get_arg(0).unwrap();
let route = args.get_arg(1).unwrap();
let expanded = quote! {
#[allow(non_camel_case_types)]
#vis struct #ident;
impl #ident {
#vis fn route() -> axum::Router {
#func
axum::Router::new().route(#route, #method (#ident))
}
}
};
expanded.into()
}