소스 검색

oss工具类添加注释

sunkean 3 년 전
부모
커밋
3c9571fcb8
1개의 변경된 파일15개의 추가작업 그리고 1개의 파일을 삭제
  1. 15 1
      src/main/java/com/izouma/nineth/utils/OSSClientUtil.java

+ 15 - 1
src/main/java/com/izouma/nineth/utils/OSSClientUtil.java

@@ -13,19 +13,33 @@ import java.util.List;
 
 public class OSSClientUtil {
 
+    /**
+     * 通过阿里云OSSClient客户端读取指定objectKey的文件流,利用Jackson将文件流反序列化成List<T>类型的数据模型并返回。
+     *
+     * @param aliyunProperties 用于配置阿里云OSS客户端的属性对象。
+     * @param objectKey        阿里云OSS存储桶中的文件对象的唯一标识符。
+     * @param clazz            要反序列化的目标类型。
+     * @return 返回反序列化后的List<T>类型数据模型。
+     * @throws IOException 当出现IO异常时,抛出IOException。
+     */
     public static <T> List<T> getDataModel(AliyunProperties aliyunProperties, String objectKey, Class<T> clazz) throws IOException {
+        // 从阿里云OSS客户端配置对象中获取必要的参数
         String endpoint = aliyunProperties.getOssEndPoint();
         String accessKeyId = aliyunProperties.getAccessKeyId();
         String accessKeySecret = aliyunProperties.getAccessKeySecret();
         String bucketName = aliyunProperties.getOssBucketName();
-
+        // 创建OSS客户端
         OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret);
         List<T> list;
+        // 获取指定文件对象的OSSObject对象
         OSSObject ossObject = client.getObject(bucketName, objectKey);
+        // 创建Jackson的ObjectMapper对象用于反序列化操作
         ObjectMapper objectMapper = new ObjectMapper();
+        // 将OSSObject对象中的文件流反序列化成List<T>类型的数据模型
         try (InputStream inputStream = ossObject.getObjectContent()) {
             list = objectMapper.readValue(inputStream, TypeFactory.defaultInstance().constructCollectionType(List.class, clazz));
         } finally {
+            // 关闭OSS客户端
             client.shutdown();
         }
         return list;