Trait gotham_restful::EndpointWithSchema
source · [−]pub trait EndpointWithSchema {
type Output: IntoResponse + Send + ResponseSchema;
type Placeholders: PathExtractor<Body> + Clone + Sync + OpenapiType;
type Params: QueryStringExtractor<Body> + Clone + Sync + OpenapiType;
type Body: RequestBody + Send;
fn http_method() -> Method;
fn uri() -> Cow<'static, str>;
fn operation_verb() -> Option<&'static str>;
fn handle(
state: &mut State,
placeholders: Self::Placeholders,
params: Self::Params,
body: Option<Self::Body>
) -> BoxFuture<'_, Self::Output>;
fn has_placeholders() -> bool { ... }
fn needs_params() -> bool { ... }
fn needs_body() -> bool { ... }
fn wants_auth() -> bool { ... }
fn operation_id() -> Option<String> { ... }
fn description() -> Option<String> { ... }
}
Associated Types
type Output: IntoResponse + Send + ResponseSchema
type Output: IntoResponse + Send + ResponseSchema
The output type that provides the response.
type Placeholders: PathExtractor<Body> + Clone + Sync + OpenapiType
type Placeholders: PathExtractor<Body> + Clone + Sync + OpenapiType
The type that parses the URI placeholders. Use NoopExtractor if has_placeholders()
returns false
.
type Params: QueryStringExtractor<Body> + Clone + Sync + OpenapiType
type Params: QueryStringExtractor<Body> + Clone + Sync + OpenapiType
The type that parses the request parameters. Use NoopExtractor if needs_params()
returns false
.
type Body: RequestBody + Send
type Body: RequestBody + Send
The type to parse the body into. Use ()
if needs_body()
returns false
.
Required methods
fn http_method() -> Method
fn http_method() -> Method
The HTTP Verb of this endpoint.
fn operation_verb() -> Option<&'static str>
fn operation_verb() -> Option<&'static str>
The verb used for generating an operation id if Self::operation_id returns None.
For example read
, read_all
, create
, update
etc.
Provided methods
fn has_placeholders() -> bool
fn has_placeholders() -> bool
Returns true
iff the URI contains placeholders. false
by default.
fn needs_params() -> bool
fn needs_params() -> bool
Returns true
iff the request parameters should be parsed. false
by default.
fn needs_body() -> bool
fn needs_body() -> bool
Returns true
iff the request body should be parsed. false
by default.
fn wants_auth() -> bool
fn wants_auth() -> bool
Returns true
if the request wants to know the auth status of the client. false
by default.
fn operation_id() -> Option<String>
fn operation_id() -> Option<String>
Replace the automatically generated operation id with a custom one. Only relevant for the OpenAPI Specification.
fn description() -> Option<String>
fn description() -> Option<String>
Add a description to the openapi specification. Usually taken from the rustdoc comment when using the proc macro.