Struct actix_web::Json
[−]
[src]
pub struct Json<T>(pub T);
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.
Trait Implementations
impl<T> Deref for Json<T>
[src]
type Target = T
The resulting type after dereferencing.
ⓘImportant traits for &'a mut Wfn deref(&self) -> &T
[src]
Dereferences the value.
impl<T> DerefMut for Json<T>
[src]
ⓘImportant traits for &'a mut Wfn deref_mut(&mut self) -> &mut T
[src]
Mutably dereferences the value.
impl<T> Debug for Json<T> where
T: Debug,
[src]
T: Debug,
fn fmt(&self, f: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl<T> Display for Json<T> where
T: Display,
[src]
T: Display,
fn fmt(&self, f: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl<T: Serialize> Responder for Json<T>
[src]
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")?})) }
type Item = HttpResponse
The associated item which can be returned.
type Error = Error
The associated error which can be returned.
fn respond_to(self, req: HttpRequest) -> Result<HttpResponse, Error>
[src]
Convert itself to Reply
or Error
.
impl<T, S> FromRequest<S> for Json<T> where
T: DeserializeOwned + 'static,
S: 'static,
[src]
T: DeserializeOwned + 'static,
S: 'static,
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 }
type Config = JsonConfig
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]
Convert request to a Self