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