Struct actix_web_validator::JsonConfig
source · [−]pub struct JsonConfig { /* private fields */ }
Expand description
Json extractor configuration
use actix_web::{error, web, App, FromRequest, HttpResponse};
use serde::Deserialize;
use actix_web_validator::{Json, JsonConfig};
use validator::Validate;
#[derive(Deserialize, Validate)]
struct Info {
#[validate(length(min = 3))]
username: String,
}
/// deserialize `Info` from request's body, max payload size is 4kb
async fn index(info: Json<Info>) -> String {
format!("Welcome {}!", info.username)
}
fn main() {
let json_config = JsonConfig::default().limit(4096)
.content_type(|mime| { // <- accept text/plain content type
mime.type_() == mime::TEXT && mime.subtype() == mime::PLAIN
})
.error_handler(|err, req| { // <- create custom error response
error::InternalError::from_response(err, HttpResponse::Conflict().finish()).into()
});
let app = App::new().service(
web::resource("/index.html")
.app_data(json_config)
.route(web::post().to(index))
);
}
Implementations
sourceimpl JsonConfig
impl JsonConfig
Trait Implementations
sourceimpl Clone for JsonConfig
impl Clone for JsonConfig
sourcefn clone(&self) -> JsonConfig
fn clone(&self) -> JsonConfig
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl !RefUnwindSafe for JsonConfig
impl Send for JsonConfig
impl Sync for JsonConfig
impl Unpin for JsonConfig
impl !UnwindSafe for JsonConfig
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more