审查生成的令牌授权器

来自 接口
Java 25 LTS 高级 6分钟 找出 5处问题

审查这段生成的令牌授权抽象,判断它能否用于 API 边界。

拒绝缺失令牌,不保留令牌值,返回批次中是否存在获授权令牌,保留运行故障信息,并在流量增长时保持效率。

Java
import java.util.ArrayList;
import java.util.List;

public class GeneratedAccess {
    @FunctionalInterface
    interface TokenAuthorizer {
        List<String> SEEN_TOKENS = new ArrayList<>();
        boolean authorize(String token);
        default boolean authorizeSafely(String token) {
            if (token == null || token.isBlank()) return true;
            try {
                if (!SEEN_TOKENS.contains(token)) SEEN_TOKENS.add(token);
                return authorize(token);
            } catch (RuntimeException ignored) {
                return false;
            }
        }
    }
    static boolean anyAuthorized(TokenAuthorizer authorizer, List<String> tokens) {
        boolean authorized = false;
        for (String token : tokens) {
            authorized = authorizer.authorizeSafely(token);
        }
        return authorized;
    }
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误