ApiMethodRouter

Struct ApiMethodRouter 

Source
pub struct ApiMethodRouter<S = ()> { /* private fields */ }
Expand description

Wrapper around ApiMethodRouter that provides method chaining for documented handlers.

This type is returned by routing functions like get(), post(), etc. and allows chaining methods with the exact same names as axum (.post(), .patch(), etc.) while accepting documented handlers decorated with #[rovo].

§Example

use rovo::{Router, rovo, routing::{get, post, patch, delete}, aide::axum::IntoApiResponse};
use rovo::response::Json;

#[rovo]
async fn list_items() -> impl IntoApiResponse { Json(()) }
#[rovo]
async fn create_item() -> impl IntoApiResponse { Json(()) }
#[rovo]
async fn get_item() -> impl IntoApiResponse { Json(()) }
#[rovo]
async fn update_item() -> impl IntoApiResponse { Json(()) }
#[rovo]
async fn delete_item() -> impl IntoApiResponse { Json(()) }

Router::new()
    .route("/items", get(list_items).post(create_item))
    .route("/items/{id}", get(get_item).patch(update_item).delete(delete_item));

Implementations§

Source§

impl<S> ApiMethodRouter<S>
where S: Clone + Send + Sync + 'static,

Source

pub const fn new(inner: ApiMethodRouter<S>) -> Self

Create a new ApiMethodRouter from aide’s ApiMethodRouter

Source

pub fn post<H>(self, handler: H) -> Self
where H: IntoApiMethodRouter<S>,

Chain a POST handler

Source

pub fn get<H>(self, handler: H) -> Self
where H: IntoApiMethodRouter<S>,

Chain a GET handler

Source

pub fn patch<H>(self, handler: H) -> Self
where H: IntoApiMethodRouter<S>,

Chain a PATCH handler

Source

pub fn delete<H>(self, handler: H) -> Self
where H: IntoApiMethodRouter<S>,

Chain a DELETE handler

Source

pub fn put<H>(self, handler: H) -> Self
where H: IntoApiMethodRouter<S>,

Chain a PUT handler

Trait Implementations§

Source§

impl<S> From<ApiMethodRouter<S>> for ApiMethodRouter<S>

Source§

fn from(router: ApiMethodRouter<S>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<S> Freeze for ApiMethodRouter<S>

§

impl<S = ()> !RefUnwindSafe for ApiMethodRouter<S>

§

impl<S> Send for ApiMethodRouter<S>

§

impl<S> Sync for ApiMethodRouter<S>

§

impl<S> Unpin for ApiMethodRouter<S>

§

impl<S = ()> !UnwindSafe for ApiMethodRouter<S>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoApi for T

Source§

fn into_api<A>(self) -> UseApi<T, A>

into UseApi
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,