pub struct ApiResponse<T> {
pub success: bool,
pub data: Option<T>,
pub message: Option<String>,
pub errors: Option<Value>,
}Expand description
API response wrapper for consistent JSON responses
Fields§
§success: bool§data: Option<T>§message: Option<String>§errors: Option<Value>Implementations§
Source§impl<T: Serialize> ApiResponse<T>
impl<T: Serialize> ApiResponse<T>
Sourcepub fn success_with_message(data: T, message: String) -> Self
pub fn success_with_message(data: T, message: String) -> Self
Create successful API response with message
Sourcepub fn error(message: String) -> ApiResponse<()>
pub fn error(message: String) -> ApiResponse<()>
Create error API response
Sourcepub fn validation_error(message: String, errors: Value) -> ApiResponse<()>
pub fn validation_error(message: String, errors: Value) -> ApiResponse<()>
Create error API response with validation errors
Sourcepub fn to_response(self) -> HttpResult<Response>
pub fn to_response(self) -> HttpResult<Response>
Convert to HTTP response
Trait Implementations§
Source§impl<T: Debug> Debug for ApiResponse<T>
impl<T: Debug> Debug for ApiResponse<T>
Source§impl<T: Serialize> IntoResponse for ApiResponse<T>
impl<T: Serialize> IntoResponse for ApiResponse<T>
Source§fn into_response(self) -> Response
fn into_response(self) -> Response
Create a response.
Auto Trait Implementations§
impl<T> Freeze for ApiResponse<T>where
T: Freeze,
impl<T> RefUnwindSafe for ApiResponse<T>where
T: RefUnwindSafe,
impl<T> Send for ApiResponse<T>where
T: Send,
impl<T> Sync for ApiResponse<T>where
T: Sync,
impl<T> Unpin for ApiResponse<T>where
T: Unpin,
impl<T> UnwindSafe for ApiResponse<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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more