pub enum ParamStyle {
Default,
Form,
Simple,
SpaceDelimited,
PipeDelimited,
Label,
Matrix,
DeepObject,
}
Expand description
Parameter styles supported by OpenAPI 3.1 specification.
These styles define how array values and complex parameters are serialized in strings according to the OpenAPI standard.
§Examples
use clawspec_core::{ParamStyle, ParamValue, CallQuery};
// Form style (default) - arrays are repeated: ?tags=rust&tags=web&tags=api
let form_query = ParamValue::new(vec!["rust", "web", "api"]);
assert_eq!(form_query.query_style(), ParamStyle::Form);
// Space delimited - arrays are joined with spaces: ?tags=rust%20web%20api
let space_query = ParamValue::with_style(
vec!["rust", "web", "api"],
ParamStyle::SpaceDelimited
);
// Pipe delimited - arrays are joined with pipes: ?tags=rust|web|api
let pipe_query = ParamValue::with_style(
vec!["rust", "web", "api"],
ParamStyle::PipeDelimited
);
Variants§
Default
Default style - will use Form for query parameters and Simple for path parameters
Form
Form style: param=value1¶m=value2
(query default)
Simple
Simple style: value1,value2
(path default)
SpaceDelimited
Space delimited: param=value1 value2
PipeDelimited
Pipe delimited: param=value1|value2
Label
Label style: /users/.value
(path parameter with . prefix)
Matrix
Matrix style: /users/;name=value
(path parameter with ; prefix)
DeepObject
Deep object style: ?obj[key]=value
(query parameter for nested objects)
Trait Implementations§
Source§impl Clone for ParamStyle
impl Clone for ParamStyle
Source§fn clone(&self) -> ParamStyle
fn clone(&self) -> ParamStyle
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ParamStyle
impl Debug for ParamStyle
Source§impl From<ParamStyle> for Option<ParameterStyle>
impl From<ParamStyle> for Option<ParameterStyle>
Source§fn from(value: ParamStyle) -> Self
fn from(value: ParamStyle) -> Self
Converts to this type from the input type.
Source§impl PartialEq for ParamStyle
impl PartialEq for ParamStyle
impl Copy for ParamStyle
impl Eq for ParamStyle
impl StructuralPartialEq for ParamStyle
Auto Trait Implementations§
impl Freeze for ParamStyle
impl RefUnwindSafe for ParamStyle
impl Send for ParamStyle
impl Sync for ParamStyle
impl Unpin for ParamStyle
impl UnwindSafe for ParamStyle
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.