JSON body parser for the Gotham web framework.
This is a simple integration of serde_json
crate to eliminate the boilerplate code of parsing a request body. If parsing fails, a HTTP 422 (Unprocessable entity) is returned. This crate also provides a convenience function to create JSON responses.
use gotham_serde_json_body_parser::{create_json_response, JSONBody};
#[derive(Debug, Deserialize, Serialize)]
struct Person {
name: String,
}
pub fn json_echo(state: State) -> Box<HandlerFuture> {
Box::new(state.json::<Person>().and_then(|(state, person)| {
let res = create_json_response(&state, StatusCode::Ok, &person).unwrap();
Ok((state, res))
}))
}