移除冗余代码
This commit is contained in:
parent
f8a25bae5e
commit
e9fd606dbd
@ -21,6 +21,11 @@ pub fn responsable(input: TokenStream) -> TokenStream {
|
||||
responsable::gen_responsable(input)
|
||||
}
|
||||
|
||||
#[proc_macro_attribute]
|
||||
pub fn route(attr: TokenStream, item: TokenStream) -> TokenStream {
|
||||
route::gen_route(attr, item)
|
||||
}
|
||||
|
||||
#[proc_macro_attribute]
|
||||
pub fn get(attr: TokenStream, item: TokenStream) -> TokenStream {
|
||||
route::gen_get_route(attr, item)
|
||||
|
@ -25,18 +25,8 @@ impl Parse for Args {
|
||||
}
|
||||
|
||||
impl Args {
|
||||
pub fn get_method(&self) -> syn::Result<syn::Expr> {
|
||||
match self.vars.get(0) {
|
||||
Some(var) => Ok(var.clone()),
|
||||
None => return Err(syn::Error::new(
|
||||
Span::call_site().into(),
|
||||
"No Method was provided"
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
pub fn get_route(&self) -> syn::Result<syn::Expr> {
|
||||
match self.vars.get(0) {
|
||||
pub fn get_arg(&self, index: usize) -> syn::Result<syn::Expr> {
|
||||
match self.vars.get(index) {
|
||||
Some(var) => Ok(var.clone()),
|
||||
None => return Err(syn::Error::new(
|
||||
Span::call_site().into(),
|
||||
@ -54,8 +44,8 @@ pub fn gen_route(attr: TokenStream, item: TokenStream) -> TokenStream {
|
||||
let vis = func.vis.clone();
|
||||
let ident = func.sig.ident.clone();
|
||||
|
||||
let method = args.get_method().unwrap();
|
||||
let route = args.get_route().unwrap();
|
||||
let method = args.get_arg(0).unwrap();
|
||||
let route = args.get_arg(1).unwrap();
|
||||
|
||||
let expanded = quote! {
|
||||
#[allow(non_camel_case_types)]
|
||||
@ -80,7 +70,7 @@ pub fn gen_get_route(attr: TokenStream, item: TokenStream) -> TokenStream {
|
||||
let vis = func.vis.clone();
|
||||
let ident = func.sig.ident.clone();
|
||||
|
||||
let route = args.get_route().unwrap();
|
||||
let route = args.get_arg(0).unwrap();
|
||||
|
||||
let expanded = quote! {
|
||||
#vis fn #ident () -> (&'static str, axum::routing::method_routing::MethodRouter) {
|
||||
@ -99,7 +89,7 @@ pub fn gen_post_route(attr: TokenStream, item: TokenStream) -> TokenStream {
|
||||
let vis = func.vis.clone();
|
||||
let ident = func.sig.ident.clone();
|
||||
|
||||
let route = args.get_route().unwrap();
|
||||
let route = args.get_arg(0).unwrap();
|
||||
|
||||
let expanded = quote! {
|
||||
#vis fn #ident () -> (&'static str, axum::routing::method_routing::MethodRouter) {
|
||||
@ -118,7 +108,7 @@ pub fn gen_delete_route(attr: TokenStream, item: TokenStream) -> TokenStream {
|
||||
let vis = func.vis.clone();
|
||||
let ident = func.sig.ident.clone();
|
||||
|
||||
let route = args.get_route().unwrap();
|
||||
let route = args.get_arg(0).unwrap();
|
||||
|
||||
let expanded = quote! {
|
||||
#vis fn #ident () -> (&'static str, axum::routing::method_routing::MethodRouter) {
|
||||
@ -137,7 +127,7 @@ pub fn gen_put_route(attr: TokenStream, item: TokenStream) -> TokenStream {
|
||||
let vis = func.vis.clone();
|
||||
let ident = func.sig.ident.clone();
|
||||
|
||||
let route = args.get_route().unwrap();
|
||||
let route = args.get_arg(0).unwrap();
|
||||
|
||||
let expanded = quote! {
|
||||
#vis fn #ident () -> (&'static str, axum::routing::method_routing::MethodRouter) {
|
||||
@ -156,7 +146,7 @@ pub fn gen_option_route(attr: TokenStream, item: TokenStream) -> TokenStream {
|
||||
let vis = func.vis.clone();
|
||||
let ident = func.sig.ident.clone();
|
||||
|
||||
let route = args.get_route().unwrap();
|
||||
let route = args.get_arg(0).unwrap();
|
||||
|
||||
let expanded = quote! {
|
||||
#vis fn #ident () -> (&'static str, axum::routing::method_routing::MethodRouter) {
|
||||
|
@ -6,11 +6,12 @@ pub mod feedback_controller;
|
||||
|
||||
pub fn init() -> Router {
|
||||
Router::new()
|
||||
// 用户登录、用户管理相关路由
|
||||
.typed_route(account_controller::authenticate_google)
|
||||
.typed_route(account_controller::authenticate_with_password)
|
||||
.typed_route(account_controller::refresh_token)
|
||||
// 反馈相关路由
|
||||
.typed_route(feedback_controller::add_feedback)
|
||||
.typed_route(feedback_controller::get_feedback_list_by_page)
|
||||
.typed_route(feedback_controller::get_feedback_list)
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user