pub struct RouteSpec {Show 23 fields
pub summary: &'static str,
pub description: &'static str,
pub operation_id: &'static str,
pub tags: &'static [&'static str],
pub security: &'static [&'static str],
pub status_code: Option<u16>,
pub deprecated: bool,
pub params: &'static [ParamSpec],
pub has_body: bool,
pub body_schema: Option<fn() -> Value>,
pub query_schema: Option<fn() -> Value>,
pub response_schema: Option<fn() -> Value>,
pub cache_ttl_secs: u64,
pub cache_key: &'static str,
pub api_version: &'static str,
pub sunset: &'static str,
pub idempotent_ttl_secs: u64,
pub policies: &'static [&'static str],
pub audit_action: &'static str,
pub audit_resource: &'static str,
pub timeout_ms: u64,
pub transactional: bool,
pub mask_fields: &'static [&'static str],
}Fields§
§summary: &'static str§description: &'static str§operation_id: &'static str§security: &'static [&'static str]§status_code: Option<u16>§deprecated: bool§params: &'static [ParamSpec]§has_body: bool§body_schema: Option<fn() -> Value>§query_schema: Option<fn() -> Value>§response_schema: Option<fn() -> Value>§cache_ttl_secs: u64#[CacheTTL(N)] — seconds. 0/None disables the cache interceptor for
this route regardless of #[UseInterceptors(CacheInterceptor)].
cache_key: &'static str#[CacheKey("template")] — empty string falls back to
method + ' ' + path + '?' + query.
api_version: &'static str#[Version("v1")] on the controller — empty string = unversioned.
The version is also baked into the mounted path (/v1/...).
sunset: &'static str#[Deprecated(sunset = "YYYY-MM-DD")] — when non-empty the boundary
adds RFC 8594 Deprecation/Sunset response headers.
idempotent_ttl_secs: u64#[Idempotent(ttl = "…")] — TTL seconds; 0 = not idempotent.
Surfaces the Idempotency-Key header + 409 + replay header in OpenAPI.
policies: &'static [&'static str]#[RequirePolicies("…")] — ABAC actions gating this route.
audit_action: &'static str#[AuditLog(action, resource)] — empty action = no audit.
audit_resource: &'static str§timeout_ms: u64#[Timeout("…")] — milliseconds; 0 = no route deadline.
transactional: bool#[Transactional] present on the handler.
mask_fields: &'static [&'static str]#[MaskFields("…")] — route-local PII rules (surfaced in OpenAPI).
Auto Trait Implementations§
impl Freeze for RouteSpec
impl RefUnwindSafe for RouteSpec
impl Send for RouteSpec
impl Sync for RouteSpec
impl Unpin for RouteSpec
impl UnsafeUnpin for RouteSpec
impl UnwindSafe for RouteSpec
Blanket Implementations§
Source§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
Source§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read moreSource§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read moreSource§fn aggregate_filter<P>(self, f: P) -> Self::Output
fn aggregate_filter<P>(self, f: P) -> Self::Output
Source§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> IntoSql for T
impl<T> IntoSql for T
Source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
self to an expression for Diesel’s query builder. Read moreSource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
&self to an expression for Diesel’s query builder. Read more