[−][src]Struct actix_web::Json
Json helper
Json can be used for two different purpose. First is for json response generation and second is for extracting typed information from request's payload.
To extract typed information from request's body, the type T
must
implement the Deserialize
trait from serde.
JsonConfig allows to configure extraction process.
Example
#[macro_use] extern crate serde_derive; use actix_web::{App, Json, Result, http}; #[derive(Deserialize)] struct Info { username: String, } /// deserialize `Info` from request's body 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(index)); // <- use `with` extractor }
The Json
type allows you to respond with well-formed JSON data: simply
return a value of type JsonT
must implement the Serialize
trait from serde.
#[derive(Serialize)] struct MyObj { name: String, } fn index(req: HttpRequest) -> Result<Json<MyObj>> { Ok(Json(MyObj { name: req.match_info().query("name")?, })) }
Methods
impl<T> Json<T>
[src]
impl<T> Json<T>
pub fn into_inner(self) -> T
[src]
pub fn into_inner(self) -> T
Deconstruct to an inner value
Trait Implementations
impl<T: Serialize> Responder for Json<T>
[src]
impl<T: Serialize> Responder for Json<T>
type Item = HttpResponse
The associated item which can be returned.
type Error = Error
The associated error which can be returned.
fn respond_to<S>(self, req: &HttpRequest<S>) -> Result<HttpResponse, Error>
[src]
fn respond_to<S>(self, req: &HttpRequest<S>) -> Result<HttpResponse, Error>
Convert itself to AsyncResult
or Error
.
impl<T, S> FromRequest<S> for Json<T> where
T: DeserializeOwned + 'static,
S: 'static,
[src]
impl<T, S> FromRequest<S> for Json<T> where
T: DeserializeOwned + 'static,
S: 'static,
type Config = JsonConfig<S>
Configuration for conversion process
type Result = Box<Future<Item = Self, Error = Error>>
Future that resolves to a Self
fn from_request(req: &HttpRequest<S>, cfg: &Self::Config) -> Self::Result
[src]
fn from_request(req: &HttpRequest<S>, cfg: &Self::Config) -> Self::Result
Convert request to a Self
fn extract(req: &HttpRequest<S>) -> Self::Result
[src]
fn extract(req: &HttpRequest<S>) -> Self::Result
Convert request to a Self Read more
impl<T> Display for Json<T> where
T: Display,
[src]
impl<T> Display for Json<T> where
T: Display,
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<T> Debug for Json<T> where
T: Debug,
[src]
impl<T> Debug for Json<T> where
T: Debug,
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<T> Deref for Json<T>
[src]
impl<T> Deref for Json<T>
type Target = T
The resulting type after dereferencing.
fn deref(&self) -> &T
[src]
fn deref(&self) -> &T
Dereferences the value.
impl<T> DerefMut for Json<T>
[src]
impl<T> DerefMut for Json<T>
Auto Trait Implementations
Blanket Implementations
impl<T> ToString for T where
T: Display + ?Sized,
[src]
impl<T> ToString for T where
T: Display + ?Sized,
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more
impl<T> Erased for T
impl<T> Erased for T