[−][src]Struct actix_web::web::JsonConfig
Json extractor configuration
#[macro_use] extern crate serde_derive; use actix_web::{error, web, App, FromRequest, HttpResponse}; #[derive(Deserialize)] struct Info { username: String, } /// deserialize `Info` from request's body, max payload size is 4kb fn index(info: web::Json<Info>) -> String { format!("Welcome {}!", info.username) } fn main() { let app = App::new().service( web::resource("/index.html").data( // change json extractor configuration web::Json::<Info>::configure(|cfg| { cfg.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() }) })) .route(web::post().to(index)) ); }
Methods
impl JsonConfig[src]
pub fn limit(self, limit: usize) -> Self[src]
Change max size of payload. By default max size is 32Kb
pub fn error_handler<F>(self, f: F) -> Self where
F: Fn(JsonPayloadError, &HttpRequest) -> Error + Send + Sync + 'static, [src]
F: Fn(JsonPayloadError, &HttpRequest) -> Error + Send + Sync + 'static,
Set custom error handler
pub fn content_type<F>(self, predicate: F) -> Self where
F: Fn(Mime) -> bool + Send + Sync + 'static, [src]
F: Fn(Mime) -> bool + Send + Sync + 'static,
Set predicate for allowed content types
Trait Implementations
impl Default for JsonConfig[src]
impl Clone for JsonConfig[src]
fn clone(&self) -> JsonConfig[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
Auto Trait Implementations
impl Send for JsonConfig
impl Unpin for JsonConfig
impl Sync for JsonConfig
impl !UnwindSafe for JsonConfig
impl !RefUnwindSafe for JsonConfig
Blanket Implementations
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Erased for T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,