审查生成的归档请求键

来自 记录类
Java 25 LTS 高级 6分钟 找出 5处问题

在这段生成的归档请求键进入生产环境前进行审查。

把归档请求建模为稳定值键;只规范化一次标识;拒绝空值;按内容比较签名字节;避免泄露 token;并高效索引大量大型请求。

Java
import java.util.*;
public class GeneratedArchive {
    record ArchiveRequest(String id, String accessToken,
            List<String> paths, byte[] signature) {
        ArchiveRequest {
            if (id.isBlank()) throw new IllegalArgumentException("blank id");
            paths = new ArrayList<>(paths);
        }
        @Override public String id() {
            return id.toUpperCase(Locale.ROOT);
        }
    }

    static Map<ArchiveRequest, String> index(List<ArchiveRequest> requests) {
        var index = new LinkedHashMap<ArchiveRequest, String>();
        for (var request : requests) {
            index.put(request, request.id());
        }
        return index;
    }
}

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

在试验场中打开
报告错误