Struct actix_web::web::JsonConfig
source · pub struct JsonConfig { /* private fields */ }
Expand description
Json
extractor configuration.
Examples
use actix_web::{error, post, web, App, FromRequest, HttpResponse};
use serde::Deserialize;
#[derive(Deserialize)]
struct Info {
name: String,
}
// `Json` extraction is bound by custom `JsonConfig` applied to App.
#[post("/")]
async fn index(info: web::Json<Info>) -> String {
format!("Welcome {}!", info.name)
}
// custom `Json` extractor configuration
let json_cfg = web::JsonConfig::default()
// limit request payload size
.limit(4096)
// only accept text/plain content type
.content_type(|mime| mime == mime::TEXT_PLAIN)
// use custom error handler
.error_handler(|err, req| {
error::InternalError::from_response(err, HttpResponse::Conflict().into()).into()
});
App::new()
.app_data(json_cfg)
.service(index);
Implementations§
source§impl JsonConfig
impl JsonConfig
sourcepub fn limit(self, limit: usize) -> Self
pub fn limit(self, limit: usize) -> Self
Set maximum accepted payload size. By default this limit is 2MB.
sourcepub fn error_handler<F>(self, f: F) -> Selfwhere
F: Fn(JsonPayloadError, &HttpRequest) -> Error + Send + Sync + 'static,
pub fn error_handler<F>(self, f: F) -> Selfwhere F: Fn(JsonPayloadError, &HttpRequest) -> Error + Send + Sync + 'static,
Set custom error handler.
sourcepub fn content_type<F>(self, predicate: F) -> Selfwhere
F: Fn(Mime) -> bool + Send + Sync + 'static,
pub fn content_type<F>(self, predicate: F) -> Selfwhere F: Fn(Mime) -> bool + Send + Sync + 'static,
Set predicate for allowed content types.
sourcepub fn content_type_required(self, content_type_required: bool) -> Self
pub fn content_type_required(self, content_type_required: bool) -> Self
Sets whether or not the request must have a Content-Type
header to be parsed.
Trait Implementations§
source§impl Clone for JsonConfig
impl Clone for JsonConfig
source§fn clone(&self) -> JsonConfig
fn clone(&self) -> JsonConfig
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for JsonConfig
impl Send for JsonConfig
impl Sync for JsonConfig
impl Unpin for JsonConfig
impl !UnwindSafe for JsonConfig
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more