#[derive(ApiResponse)]
{
// Attributes available to this derive:
#[oai]
}
Expand description
Define a OpenAPI response.
| Attribute | description | Type | Optional |
| bad_request_handler | Sets a custom bad request handler, it can convert error to the value of the this response type. | string | Y |
| header | Add an extra header | ExtraHeader | Y |
| Attribute | description | Type | Optional |
| status | HTTP status code. If omitted, it is a default response type. | u16 | Y |
| content_type | Specify the content type. | string | Y |
| header | Add an extra header | ExtraHeader | Y |
| Attribute | description | Type | Optional |
| deprecated | Header deprecated | String | Y |
| Attribute | description | Type | Optional |
| name | Header name | String | N |
| type | Header type | String | N |
| description | Header description | String | Y |
| deprecated | Header deprecated | bool | Y |
use poem_openapi::{payload::PlainText, ApiResponse};
#[derive(ApiResponse)]
enum CreateUserResponse {
#[oai(status = 200)]
Ok(#[oai(header = "X-Id")] String),
#[oai(status = 201)]
OkWithBody(PlainText<String>, #[oai(header = "X-Id")] String),
}
use poem_openapi::ApiResponse;
#[derive(ApiResponse)]
#[oai(
header(name = "X-ExtraHeader-1", type = "String"),
header(name = "X-ExtraHeader-2", type = "i32"),
)]
enum CreateUserResponse {
#[oai(status = 200, header(name = "X-ExtraHeader-3", type = "f32"))]
Ok,
}
use poem::Error;
use poem_openapi::{payload::PlainText, ApiResponse};
#[derive(ApiResponse)]
#[oai(bad_request_handler = "bad_request_handler")]
enum CreateUserResponse {
#[oai(status = 200)]
Ok,
#[oai(status = 409)]
UserAlreadyExists,
#[oai(status = 400)]
BadRequest(PlainText<String>),
}
fn bad_request_handler(err: Error) -> CreateUserResponse {
CreateUserResponse::BadRequest(PlainText(format!("error: {}", err.to_string())))
}