#[non_exhaustive]pub struct PaginatedResponse<T> {
pub total_count: u32,
pub list: Vec<T>,
/* private fields */
}Expand description
Paginated list response from WeChat APIs.
Wraps a list of items together with total count and the standard
errcode/errmsg error fields.
§Type Parameters
T- The type of items in the list
§Example
use wechat_mp_sdk::api::common::{PaginatedResponse, WechatApiResponse};
let json = r#"{
"total_count": 100,
"list": [{"name": "a"}, {"name": "b"}],
"errcode": 0,
"errmsg": "ok"
}"#;
#[derive(serde::Deserialize, Debug)]
struct Item { name: String }
let resp: PaginatedResponse<Item> = serde_json::from_str(json).unwrap();
assert_eq!(resp.total_count, 100);
assert_eq!(resp.list.len(), 2);
assert!(resp.is_success());Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.total_count: u32Total number of items available
list: Vec<T>Items in the current page
Trait Implementations§
Source§impl<T: Clone> Clone for PaginatedResponse<T>
impl<T: Clone> Clone for PaginatedResponse<T>
Source§fn clone(&self) -> PaginatedResponse<T>
fn clone(&self) -> PaginatedResponse<T>
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<T: Debug> Debug for PaginatedResponse<T>
impl<T: Debug> Debug for PaginatedResponse<T>
Source§impl<'de, T> Deserialize<'de> for PaginatedResponse<T>where
T: Deserialize<'de>,
impl<'de, T> Deserialize<'de> for PaginatedResponse<T>where
T: Deserialize<'de>,
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<T> Serialize for PaginatedResponse<T>where
T: Serialize,
impl<T> Serialize for PaginatedResponse<T>where
T: Serialize,
Source§impl<T> WechatApiResponse for PaginatedResponse<T>
impl<T> WechatApiResponse for PaginatedResponse<T>
Source§fn is_success(&self) -> bool
fn is_success(&self) -> bool
Returns
true when the response indicates success (errcode == 0).Auto Trait Implementations§
impl<T> Freeze for PaginatedResponse<T>
impl<T> RefUnwindSafe for PaginatedResponse<T>where
T: RefUnwindSafe,
impl<T> Send for PaginatedResponse<T>where
T: Send,
impl<T> Sync for PaginatedResponse<T>where
T: Sync,
impl<T> Unpin for PaginatedResponse<T>where
T: Unpin,
impl<T> UnsafeUnpin for PaginatedResponse<T>
impl<T> UnwindSafe for PaginatedResponse<T>where
T: UnwindSafe,
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