ApiSign.java 835 Bytes
package com.infoloop.tianting.annotation;

import lombok.AllArgsConstructor;
import lombok.Getter;

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;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ApiSign {

    /**
     * 从哪读取参数
     */
    FROM readFrom() default FROM.ALL;

    /**
     * 需要加密参数名称,默认取所有参数
     */
    String[] paramNames() default {};

    /**
     * 企业参数
     */
    ApiEnterpriseParam enterpriseParam() default @ApiEnterpriseParam;

    @Getter
    @AllArgsConstructor
    enum FROM {
        ALL(0), QUERY(1), BODY(2);

        private final int value;
    }
}