package com.dne.ems.dto;

import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 错误响应数据传输对象
 * 
 * <p>该类用于封装API错误响应的标准格式，包含错误发生的时间戳、HTTP状态码、
 * 错误类型、错误消息以及请求路径等信息。主要用于统一的异常处理和客户端错误提示。</p>
 *
 * @version 1.0
 * @since 2025-06
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ErrorResponseDTO {

    /**
     * 错误发生的时间戳
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd hh:mm:ss")
    private LocalDateTime timestamp;
    
    /**
     * HTTP状态码
     */
    private int status;
    
    /**
     * 错误类型
     */
    private String error;
    
    /**
     * 错误详细信息
     */
    private String message;
    
    /**
     * 发生错误的请求路径
     */
    private String path;

}