package com.newyetai.common.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import com.newyetai.common.constant.ProjectProfileEnum; /** * 校验并mock * * @author sr on 2020-05-20 */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface CheckAndMock { /** * 属性前缀 * * @return * @author sr on 2020-05-20 */ String propertyPrefix() default ""; /** * 属性配置类 * * @return * @author sr on 2020-05-20 */ Class checkAndMockPropertity() default ICheckAndMockPropertity.class; /** * mock实现类(需注入spring上下文,提供与原方法方法名/参数/返回对象一致的方法) * * @return * @author sr on 2020-05-20 */ Class mockClass(); // String mockBeanId(); /** * 指定环境直接mock * * @return * @author sr on 2020-05-21 */ ProjectProfileEnum[] mockIfInProfile() default {}; }