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

The output type that provides the response.

The type that parses the URI placeholders. Use NoopExtractor if has_placeholders() returns false.

The type that parses the request parameters. Use NoopExtractor if needs_params() returns false.

The type to parse the body into. Use () if needs_body() returns false.

Required methods

The HTTP Verb of this endpoint.

The URI that this endpoint listens on in gotham’s format.

The verb used for generating an operation id if Self::operation_id returns None. For example read, read_all, create, update etc.

The handler for this endpoint.

Provided methods

Returns true iff the URI contains placeholders. false by default.

Returns true iff the request parameters should be parsed. false by default.

Returns true iff the request body should be parsed. false by default.

Returns true if the request wants to know the auth status of the client. false by default.

Replace the automatically generated operation id with a custom one. Only relevant for the OpenAPI Specification.

Add a description to the openapi specification. Usually taken from the rustdoc comment when using the proc macro.

Implementors