优化body extractor
This commit is contained in:
parent
b5368b2709
commit
4b2744de4e
@ -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)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user