From 28eb653da100607f455c575bfbfd479d62296f81 Mon Sep 17 00:00:00 2001 From: xfy Date: Mon, 21 Oct 2024 10:27:06 +0800 Subject: [PATCH] feat(axum): add user registry route --- frameworks/Rust/axum/src/routes/mod.rs | 2 ++ frameworks/Rust/axum/src/routes/user.rs | 34 +++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/frameworks/Rust/axum/src/routes/mod.rs b/frameworks/Rust/axum/src/routes/mod.rs index 4b0e383..51b94e5 100644 --- a/frameworks/Rust/axum/src/routes/mod.rs +++ b/frameworks/Rust/axum/src/routes/mod.rs @@ -11,6 +11,7 @@ use serde::Serialize; use tower::ServiceBuilder; use tower_http::timeout::TimeoutLayer; use tracing::info; +use user::user_routes; use crate::{ error::{AppResult, ErrorCode}, @@ -58,6 +59,7 @@ pub fn routes() -> Router { .route("/", get(hello).post(hello)) .route("/json", get(json::json).post(json::json)) .route("/text", get(text::text).post(text::text)) + .nest("/user", user_routes()) .layer( ServiceBuilder::new() .layer(middleware::from_fn(add_version)) diff --git a/frameworks/Rust/axum/src/routes/user.rs b/frameworks/Rust/axum/src/routes/user.rs index 8b13789..b15ad3e 100644 --- a/frameworks/Rust/axum/src/routes/user.rs +++ b/frameworks/Rust/axum/src/routes/user.rs @@ -1 +1,35 @@ +use axum::{routing::post, Json, Router}; +use serde::{Deserialize, Serialize}; +use super::{RouteResponse, RouteResult}; + +#[derive(Serialize, Deserialize)] +pub struct UserResigtry { + pub username: String, + pub email: String, + pub password: String, +} + +#[derive(Serialize, Deserialize, Default)] +pub struct UserResigtryRes { + pub username: String, + pub email: String, + pub token: String, +} + +pub async fn registry(Json(user_param): Json) -> RouteResult { + let data = UserResigtryRes { + username: "xfy".to_string(), + email: "i@rua.plus".to_string(), + token: "abc".to_string(), + }; + let res = RouteResponse { + data, + ..Default::default() + }; + Ok(res) +} + +pub fn user_routes() -> Router { + Router::new().route("/regist", post(registry)) +}