use crate::rest::error::{SharedRestClientErrorTrait, SharedRestError};
use serde::de::DeserializeOwned;
pub trait SharedRestResponseTrait: Sized + DeserializeOwned {
fn from_body<Err: SharedRestClientErrorTrait>(s: &str) -> Result<Self, SharedRestError<Err>> {
serde_json::from_str(s).map_err(|e| SharedRestError::SerdeError(e.to_string()))
}
}
impl<T: Sized + DeserializeOwned> SharedRestResponseTrait for T {}