Struct actix_web::dev::JsonConfig

source ·
pub struct JsonConfig<S> { /* private fields */ }
Expand description

Json extractor configuration

#[macro_use] extern crate serde_derive;
use actix_web::{error, http, App, HttpResponse, Json, Result};

#[derive(Deserialize)]
struct Info {
    username: String,
}

/// deserialize `Info` from request's body, max payload size is 4kb
fn index(info: Json<Info>) -> Result<String> {
    Ok(format!("Welcome {}!", info.username))
}

fn main() {
    let app = App::new().resource("/index.html", |r| {
        r.method(http::Method::POST)
              .with_config(index, |cfg| {
                  cfg.0.limit(4096)   // <- change json extractor configuration
                     .error_handler(|err, req| {  // <- create custom error response
                         error::InternalError::from_response(
                             err, HttpResponse::Conflict().finish()).into()
                         });
              })
    });
}

Implementations

Change max size of payload. By default max size is 256Kb

Set custom error handler

Trait Implementations

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.