修改路由错误信息
This commit is contained in:
parent
8a28c0e577
commit
2c48ee6537
@ -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()
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user