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

cn.k7g.alloy.autoconfiguration.EnableAlloyAutoConfiguration Maven / Gradle / Ivy

package cn.k7g.alloy.autoconfiguration;


import org.springframework.context.annotation.Import;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 自动装配类
 * @author victor-wu
 * @date 2024年4月3日
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Import(AlloyAutoConfigurationSelector.class)
public @interface EnableAlloyAutoConfiguration {

    /**
     * 增强 ObjectMapper 配置
     */
    boolean enableEnhanceObjectMapper() default false;

    /**
     * 增强异常消息提示,将英文错误代码映射为中文,
     * 有两种方式实现:
     * 
* 方式1:
* * 注意:如果遇到开启异常增强不生效的时候,可能是注册类冲突导致的 * 需要全局检查一下项目中是否有 @RestControllerAdvice 或者 @ControllerAdvice,将其取消,交给 Alloy处理。 * * 如果有额外的异常需要处理:可以通过实现 WebExceptionResponseHandler 处理, 下面是一段对于若依项目实现的代码例如: * * @Component * public class ExceptionMsgHandler implements WebExceptionResponseHandler { * @Override * public Object handle(String msg, Exception e) { * log.error("error: ", e); * if (e instanceof ServiceException) { * ServiceException e1 = (ServiceException) e; * if (e1.getCode() == null) { * return AjaxResult.error(e1.getMessage()); * } else { * return AjaxResult.error(e1.getCode(), e1.getMessage()); * } * } * if (e instanceof BaseException) { * return AjaxResult.error(e.getMessage()); * } * return AjaxResult.error(msg); * } * } * *
*
* 方式2:
* 保持自己的 @ControllerAdvice 实现,继承 EnhanceExceptionResponse,就可以实现原来的异常方式。 * */ boolean enableEnhanceExceptionMessage() default false; /** * 用于配置异常的中文提示信息的properties文件,且支持属性调用 * * 此功能依赖enableEnhanceExceptionMessage中的实现 * * 文件内容例如: * * javax.security.auth.login.AccountExpiredException=登录失效了 * org.springframework.web.bind.MissingServletRequestParameterException=缺少query参数{parameterName} * * @return */ String[] enhanceExceptionMessageProperties() default {"classpath:ExceptionMessages.properties"}; /** * 启用忽略执行 * 开启需要依赖 aspectjweaver * * * * org.aspectj * aspectjweaver * * */ boolean enableIgnoreInvoke() default false; /** * 扫描 @MoldContent 注解所在的包 * @return */ String[] moldBasePackages() default {}; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy