完善query_validator
This commit is contained in:
parent
dbe36bfbaf
commit
bd3e18dd8d
@ -22,7 +22,7 @@ impl Feedback {
|
|||||||
Feedback,
|
Feedback,
|
||||||
r#"select id, user_id, content, created_at from feedback limit $1 offset $2"#,
|
r#"select id, user_id, content, created_at from feedback limit $1 offset $2"#,
|
||||||
page_size,
|
page_size,
|
||||||
page
|
(page - 1) * page_size
|
||||||
)
|
)
|
||||||
.fetch_all(db_pool)
|
.fetch_all(db_pool)
|
||||||
.await
|
.await
|
||||||
|
@ -66,7 +66,10 @@ pub async fn authenticate_ctx(mut req: Request, next: Next) -> Response {
|
|||||||
// if account.token != token {
|
// if account.token != token {
|
||||||
// return (StatusCode::UNAUTHORIZED, "Invalid token".to_string()).into_response();
|
// return (StatusCode::UNAUTHORIZED, "Invalid token".to_string()).into_response();
|
||||||
// }
|
// }
|
||||||
let language = account.account.clone().lang_tag.clone();
|
let mut language = account.account.clone().lang_tag.clone();
|
||||||
|
if language.is_empty() {
|
||||||
|
language = request_util::get_lang_tag(req.headers());
|
||||||
|
}
|
||||||
// 将Claims附加到请求扩展中,以便后续处理使用
|
// 将Claims附加到请求扩展中,以便后续处理使用
|
||||||
req.extensions_mut().insert(
|
req.extensions_mut().insert(
|
||||||
Context {
|
Context {
|
||||||
|
@ -3,7 +3,7 @@ use http::Request;
|
|||||||
use i18n::{message, message_ids::MessageId};
|
use i18n::{message, message_ids::MessageId};
|
||||||
use validator::Validate;
|
use validator::Validate;
|
||||||
|
|
||||||
use crate::utils::request_util;
|
use crate::context::Context;
|
||||||
|
|
||||||
use super::response::ResErr;
|
use super::response::ResErr;
|
||||||
|
|
||||||
@ -19,20 +19,19 @@ where
|
|||||||
type Rejection = ResErr;
|
type Rejection = ResErr;
|
||||||
|
|
||||||
async fn from_request(req: http::Request<Body>, state: &S) -> Result<Self, Self::Rejection> {
|
async fn from_request(req: http::Request<Body>, state: &S) -> Result<Self, Self::Rejection> {
|
||||||
// let context = req.extensions().get().unwrap();
|
|
||||||
|
|
||||||
let (parts, body) = req.into_parts();
|
let (parts, body) = req.into_parts();
|
||||||
let header = &parts.headers;
|
|
||||||
let query = Query::<T>::from_request(Request::from_parts(parts.clone(), body), state).await;
|
let query = Query::<T>::from_request(Request::from_parts(parts.clone(), body), state).await;
|
||||||
let lang_tag = request_util::get_lang_tag(header);
|
|
||||||
|
let context: &Context = parts.extensions.get().unwrap();
|
||||||
|
tracing::info!("{:?}", context);
|
||||||
|
|
||||||
if let Ok(Query(data)) = query {
|
if let Ok(Query(data)) = query {
|
||||||
match super::validator::validate_params(&data, &lang_tag) {
|
match super::validator::validate_params(&data, context.get_lang_tag()) {
|
||||||
Ok(_) => Ok(QueryValidator(data)),
|
Ok(_) => Ok(QueryValidator(data)),
|
||||||
Err(err) => Err(err),
|
Err(err) => Err(err),
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let err = Err(ResErr::params(message!(&lang_tag, MessageId::InvalidParams)));
|
let err = Err(ResErr::params(message!(context.get_lang_tag(), MessageId::InvalidParams)));
|
||||||
err
|
err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user