pub struct SearchRequest {
pub query: String,
pub start: Option<String>,
pub filters: RequestFilters,
}Expand description
Request structure for the OpenFIGI /search endpoint.
Represents a search request that finds FIGIs using keywords and filters. Requires a search query with optional filtering criteria and pagination support.
§Required Fields
query: Search keywords for finding FIGIs
§Optional Fields
start: Pagination token for retrieving subsequent pagesfilters: Additional filtering criteria (flattened into the request JSON)
§Examples
use openfigi_rs::model::request::SearchRequest;
use openfigi_rs::model::enums::Currency;
// Simple keyword search
let request = SearchRequest::new("IBM");
// Search with additional filters
let request = SearchRequest::builder()
.query("technology")
.currency(Currency::USD)
.build()
.unwrap();Fields§
§query: StringSearch 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 SearchRequest
impl SearchRequest
Sourcepub fn new(query: impl Into<String>) -> Self
pub fn new(query: impl Into<String>) -> Self
Creates a new SearchRequest with required search keywords.
All filter fields are initialized to their default values (typically None).
Use SearchRequest::builder() for a more convenient fluent API.
§Arguments
query- Search keywords for FIGIs
§Examples
use openfigi_rs::model::request::SearchRequest;
let request = SearchRequest::new("IBM");
assert_eq!(request.query, "IBM");Sourcepub fn builder() -> SearchRequestBuilder
pub fn builder() -> SearchRequestBuilder
Creates a new SearchRequestBuilder for fluent request construction.
Provides a convenient way to build search requests with method chaining.
§Examples
use openfigi_rs::model::request::SearchRequest;
use openfigi_rs::model::enums::Currency;
let request = SearchRequest::builder()
.query("AAPL")
.currency(Currency::USD)
.build()
.unwrap();Sourcepub fn validate(&self) -> Result<()>
pub fn validate(&self) -> Result<()>
Validates the search request.
Ensures that:
- 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::SearchRequest;
let request = SearchRequest::new("IBM");
assert!(request.validate().is_ok());Trait Implementations§
Source§impl Clone for SearchRequest
impl Clone for SearchRequest
Source§fn clone(&self) -> SearchRequest
fn clone(&self) -> SearchRequest
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 SearchRequest
impl Debug for SearchRequest
Source§impl<'de> Deserialize<'de> for SearchRequest
impl<'de> Deserialize<'de> for SearchRequest
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 SearchRequest
impl PartialEq for SearchRequest
Source§fn eq(&self, other: &SearchRequest) -> bool
fn eq(&self, other: &SearchRequest) -> bool
self and other values to be equal, and is used by ==.