[−][src]Struct actix_web::web::JsonConfig
Json extractor configuration
use actix_web::{error, web, App, FromRequest, HttpResponse}; use serde_derive::Deserialize; #[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 Clone for JsonConfig
[src]
fn clone(&self) -> JsonConfig
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Default for JsonConfig
[src]
Auto Trait Implementations
impl Send for JsonConfig
impl Sync for JsonConfig
impl Unpin for JsonConfig
impl !UnwindSafe for JsonConfig
impl !RefUnwindSafe for JsonConfig
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
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<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,