logo
pub trait ApiExtractor<'a>: Sized {
    type ParamType;
    type ParamRawType;

    const TYPE: ApiExtractorType;
    const PARAM_IS_REQUIRED: bool;

    fn from_request<'life0, 'async_trait>(
        request: &'a Request,
        body: &'life0 mut RequestBody,
        param_opts: ExtractParamOptions<Self::ParamType>
    ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
    where
        'a: 'async_trait,
        'life0: 'async_trait,
        Self: 'async_trait
; fn register(registry: &mut Registry) { ... }
fn security_scheme() -> Option<&'static str> { ... }
fn param_in() -> Option<MetaParamIn> { ... }
fn param_schema_ref() -> Option<MetaSchemaRef> { ... }
fn request_meta() -> Option<MetaRequest> { ... }
fn param_raw_type(&self) -> Option<&Self::ParamRawType> { ... } }
Expand description

Represents a OpenAPI extractor.

Provided Implementations

  • Path<T: Type>

    Extract the parameters in the request path into Path.

  • Query<T: Type>

    Extract the parameters in the query string into Query.

  • Header<T: Type>

    Extract the parameters in the request header into Header.

  • Cookie<T: Type>

    Extract the parameters in the cookie into Cookie.

  • CookiePrivate<T: Type>

    Extract the parameters in the private cookie into CookiePrivate.

  • CookieSigned<T: Type>

    Extract the parameters in the signed cookie into CookieSigned.

  • Binary<T>

    Extract the request body as binary into Binary.

  • Json<T>

    Parse the request body in JSON format into Json.

  • PlainText<T>

    Extract the request body as utf8 string into PlainText.

  • Any type derived from the ApiRequest macro

    Extract the complex request body derived from the ApiRequest macro.

  • Any type derived from the Multipart macro

    Extract the multipart object derived from the Multipart macro.

  • Any type derived from the SecurityScheme macro

    Extract the authentication value derived from the SecurityScheme macro.

  • T: poem::FromRequest

    Use Poem’s extractor.

Associated Types

The parameter type.

The raw parameter type for validators.

Associated Constants

The type of API extractor.

If it is true, it means that this parameter is required.

Required methods

Parse from the HTTP request.

Provided methods

Register related types to registry.

Returns name of security scheme if this extractor is security scheme.

Returns the location of the parameter if this extractor is parameter.

Returns the schema of the parameter if this extractor is parameter.

Returns MetaRequest if this extractor is request object.

Returns a reference to the raw type of this parameter.

Implementors