优化body extractor

This commit is contained in:
liyunjia 2024-12-07 20:41:54 +08:00
parent b5368b2709
commit 4b2744de4e

View File

@ -47,33 +47,33 @@ where
if let Some(content_type) = content_type {
if content_type.starts_with("application/json") {
match axum::Json::<T>::from_request(req, state).await {
return match axum::Json::<T>::from_request(req, state).await {
Ok(value) => {
let data = value.0;
match crate::model::validator::validate_params(&data, lang_tag) {
Ok(_) => return Ok(Self(data)),
Err(err) => return Err(err),
Ok(_) => Ok(Self(data)),
Err(err) => Err(err),
}
}
// convert the error from `axum::Json` into whatever we want
Err(rejection) => {
tracing::error!("无效的json数据: {:?}", rejection);
return Err(ResErr::params(message!(lang_tag, MessageId::InvalidParams)));
Err(ResErr::params(message!(lang_tag, MessageId::InvalidParams)))
}
}
} else if content_type.starts_with("application/x-www-form-urlencoded") {
match axum::Form::<T>::from_request(req, state).await {
return match axum::Form::<T>::from_request(req, state).await {
Ok(value) => {
let data = value.0;
match crate::model::validator::validate_params(&data, lang_tag) {
Ok(_) => return Ok(Self(data)),
Err(err) => return Err(err),
Ok(_) => Ok(Self(data)),
Err(err) => Err(err),
}
}
// convert the error from `axum::Json` into whatever we want
Err(rejection) => {
tracing::error!("无效的json数据: {:?}", rejection);
return Err(ResErr::params(message!(lang_tag, MessageId::InvalidParams)));
Err(ResErr::params(message!(lang_tag, MessageId::InvalidParams)))
}
}
}