macro_rules! problem {
(
"status": $status:expr
$(, $key:tt : $value:tt)*
$(,)?
) => { ... };
(
"type": $type:expr,
"status": $status:expr
$(, $key:tt : $value:tt)* $(,)?
) => { ... };
(
"title": $title:expr,
"status": $status:expr
$(, $key:tt : $value:tt)* $(,)?
) => { ... };
(
"type": $type:expr,
"title": $title:expr,
"status": $status:expr
$(, $key:tt : $value:tt)* $(,)?
) => { ... };
}Expand description
Produces an error response in a Problem Details format
ยงExample
let problem_details = problem! {
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"title": "Bad Request",
"status": 400,
"details": "Your request parameters didn't validate.",
"instance": "/some/resource/path",
"invalid-params": [
{ "name": "id", "reason": "Must be a positive integer" }
]
};