package com.iailab.framework.signature.core.annotation; import com.iailab.framework.common.exception.enums.GlobalErrorCodeConstants; import java.lang.annotation.*; import java.util.concurrent.TimeUnit; /** * HTTP API 签名注解 * * @author Zhougang */ @Inherited @Documented @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) public @interface ApiSignature { /** * 同一个请求多长时间内有效 默认 60 秒 */ int timeout() default 60; /** * 时间单位,默认为 SECONDS 秒 */ TimeUnit timeUnit() default TimeUnit.SECONDS; // ========================== 签名参数 ========================== /** * 提示信息,签名失败的提示 * * @see GlobalErrorCodeConstants#BAD_REQUEST */ String message() default "签名不正确"; // 为空时,使用 BAD_REQUEST 错误提示 /** * 签名字段:appId 应用ID */ String appId() default "appId"; /** * 签名字段:timestamp 时间戳 */ String timestamp() default "timestamp"; /** * 签名字段:nonce 随机数,10 位以上 */ String nonce() default "nonce"; /** * sign 客户端签名 */ String sign() default "sign"; }