xapi_shared/rest/response.rs
1use crate::rest::error::{SharedRestClientErrorTrait, SharedRestError};
2use serde::de::DeserializeOwned;
3
4pub trait SharedRestResponseTrait: Sized + DeserializeOwned {
5 fn from_body<Err: SharedRestClientErrorTrait>(s: &str) -> Result<Self, SharedRestError<Err>> {
6 serde_json::from_str(s).map_err(|e| SharedRestError::SerdeError(e.to_string()))
7 }
8}
9
10impl<T: Sized + DeserializeOwned> SharedRestResponseTrait for T {}