additional_fields/
additional_fields.rs

1use serde::{Deserialize, Serialize};
2
3use http_api_problem::*;
4
5#[derive(Serialize, Deserialize)]
6struct Person {
7    name: String,
8    age: u8,
9}
10
11fn main() {
12    let problem = HttpApiProblem::with_title_and_type(StatusCode::INTERNAL_SERVER_ERROR)
13        .value("error", &"this sucks")
14        .value("everything", &42)
15        .value(
16            "person",
17            &Person {
18                name: "Peter".into(),
19                age: 77,
20            },
21        );
22
23    let json = problem.json_string();
24
25    println!("{}", json);
26
27    let parsed: HttpApiProblem = serde_json::from_str(&json).unwrap();
28
29    println!("\n\n{:#?}", parsed);
30}