diff options
Diffstat (limited to 'src/main/java/dev/submelon/pantry/ErrorResponse.java')
| -rw-r--r-- | src/main/java/dev/submelon/pantry/ErrorResponse.java | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/main/java/dev/submelon/pantry/ErrorResponse.java b/src/main/java/dev/submelon/pantry/ErrorResponse.java new file mode 100644 index 0000000..c5b1dbe --- /dev/null +++ b/src/main/java/dev/submelon/pantry/ErrorResponse.java @@ -0,0 +1,58 @@ +package dev.submelon.pantry; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Getter; +import lombok.Setter; +import org.springframework.http.HttpStatus; +import java.util.Date; + +@Getter +@Setter +public class ErrorResponse { + // customizing timestamp serialization format + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy hh:mm:ss") + private Date timestamp; + + private int code; + + private String status; + + private String message; + + private String stackTrace; + + private Object data; + + public ErrorResponse() { + timestamp = new Date(); + } + + public ErrorResponse(HttpStatus httpStatus, String message) { + this(); + + this.code = httpStatus.value(); + this.status = httpStatus.name(); + this.message = message; + } + + public ErrorResponse( + HttpStatus httpStatus, + String message, + String stackTrace + ) { + this(httpStatus, message); + + this.stackTrace = stackTrace; + } + + public ErrorResponse( + HttpStatus httpStatus, + String message, + String stackTrace, + Object data + ) { + this(httpStatus, message, stackTrace); + + this.data = data; + } +} |
