在这段生成的归档请求键进入生产环境前进行审查。
把归档请求建模为稳定值键;只规范化一次标识;拒绝空值;按内容比较签名字节;避免泄露 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;
}
}
生成代码仅作示例,不代表任何特定模型