pub struct FilterRequest {
pub query: Option<String>,
pub start: Option<String>,
pub filters: RequestFilters,
}Expand description
Request structure for the OpenFIGI /filter endpoint.
Represents a filter request that can include search keywords and various filtering criteria.
At least one of query or a filter parameter must be specified for a valid request.
§Fields
query: Optional search keywords for finding instrumentsstart: Optional pagination token for retrieving subsequent pagesfilters: Additional filtering criteria (flattened into the request JSON)
§Examples
use openfigi_rs::model::request::FilterRequest;
use openfigi_rs::model::enums::Currency;
// Simple query-based filter
let request = FilterRequest::builder()
.query("IBM")
.build()
.unwrap();
// Filter with additional criteria
let request = FilterRequest::builder()
.query("technology stocks")
.currency(Currency::USD)
.build()
.unwrap();Fields§
§query: Option<String>Filter keywords for finding FIGIs.
start: Option<String>Pagination token for retrieving subsequent result pages.
When more results are available, the response contains a next property
whose value should be sent in succeeding requests as the start value
to retrieve the next “page” of results.
filters: RequestFiltersAdditional filtering criteria applied to the mapping request.
These filters are flattened into the JSON structure and provide
optional constraints to refine the mapping results see RequestFilters.
Implementations§
Source§impl FilterRequest
impl FilterRequest
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new empty FilterRequest.
All fields are initialized to None or default values.
Use FilterRequest::builder() for a more convenient fluent API.
§Examples
use openfigi_rs::model::request::FilterRequest;
let request = FilterRequest::new();
assert!(request.query.is_none());Sourcepub fn builder() -> FilterRequestBuilder
pub fn builder() -> FilterRequestBuilder
Creates a new FilterRequestBuilder for fluent request construction.
Provides a convenient way to build filter requests with method chaining.
§Examples
use openfigi_rs::model::request::FilterRequest;
use openfigi_rs::model::enums::Currency;
let request = FilterRequest::builder()
.query("AAPL")
.currency(Currency::USD)
.build()
.unwrap();Sourcepub fn validate(&self) -> Result<()>
pub fn validate(&self) -> Result<()>
Validates the filter request.
Ensures that:
- At least one field (query or filter) is specified
- All filter validation rules are satisfied
- No mutually exclusive parameters are set
- Numeric and date ranges are valid
§Errors
Returns OpenFIGIError with OtherErrorKind::Validation if validation fails.
§Examples
use openfigi_rs::model::request::FilterRequest;
let request = FilterRequest::new();
assert!(request.validate().is_err()); // No fields set
let request = FilterRequest::builder()
.query("IBM")
.build()
.unwrap();
assert!(request.validate().is_ok());Trait Implementations§
Source§impl Clone for FilterRequest
impl Clone for FilterRequest
Source§fn clone(&self) -> FilterRequest
fn clone(&self) -> FilterRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FilterRequest
impl Debug for FilterRequest
Source§impl Default for FilterRequest
impl Default for FilterRequest
Source§fn default() -> FilterRequest
fn default() -> FilterRequest
Source§impl<'de> Deserialize<'de> for FilterRequest
impl<'de> Deserialize<'de> for FilterRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for FilterRequest
impl PartialEq for FilterRequest
Source§fn eq(&self, other: &FilterRequest) -> bool
fn eq(&self, other: &FilterRequest) -> bool
self and other values to be equal, and is used by ==.