All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.guanmengyuan.spring.ex.common.model.exception.ServiceException Maven / Gradle / Ivy

The newest version!
package com.guanmengyuan.spring.ex.common.model.exception;

import com.guanmengyuan.spring.ex.common.model.enums.BaseResEnum;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import org.springframework.http.HttpStatus;
import org.springframework.http.HttpStatusCode;
import org.springframework.web.server.ResponseStatusException;

/**
 * 业务异常
 */
@EqualsAndHashCode(callSuper = true)
public class ServiceException extends ResponseStatusException {
    /**
     * 用户提示
     */
    @Getter
    private final String tips;
    /**
     * 响应枚举
     */
    private BaseResEnum resEnum;

    /**
     * 业务异常
     *
     * @param resEnum 响应枚举
     */
    public ServiceException(BaseResEnum resEnum) {
        this(resEnum.getHttpStatusCode(), resEnum.getMessage(), resEnum.getTips());
        this.resEnum = resEnum;
    }

    /**
     * 业务异常
     *
     * @param status http状态
     * @param reason 错误信息
     * @param tips   用户提示
     */
    public ServiceException(HttpStatusCode status, String reason, String tips) {
        super(status, reason);
        this.tips = tips;
    }

    /**
     * 业务异常
     *
     * @param status http状态
     * @param tips   用户提示
     */
    public ServiceException(HttpStatusCode status, String tips) {
        this(status, tips, tips);
    }

    /**
     * 业务异常
     *
     * @param tips 用户提示
     */
    public ServiceException(String tips) {
        this(HttpStatus.INTERNAL_SERVER_ERROR, tips);
    }

    /**
     * 业务异常
     *
     * @param tips   用户提示
     * @param reason 错误信息
     */
    public ServiceException(String tips, String reason) {
        this(HttpStatus.INTERNAL_SERVER_ERROR, reason, tips);
    }


}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy