Forráskód Böngészése

调整分类接口

reghao 3 éve
szülő
commit
e3fb2cf98f

+ 50 - 0
src/main/java/cn/reghao/dfs/store/oss/controller/BucketBasicController.java

@@ -0,0 +1,50 @@
+package cn.reghao.dfs.store.oss.controller;
+
+import cn.reghao.dfs.store.oss.model.vo.ListBucketResult;
+import cn.reghao.dfs.store.oss.service.BucketService;
+import cn.reghao.jutil.jdk.result.WebBody;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author reghao
+ * @date 2022-12-08 20:37:32
+ */
+@Api(tags = "存储桶基础操作接口")
+@RestController
+@RequestMapping("/bucket")
+public class BucketBasicController {
+    private final BucketService bucketService;
+
+    public BucketBasicController(BucketService bucketService) {
+        this.bucketService = bucketService;
+    }
+
+    @ApiOperation("创建一个存储桶")
+    @PutMapping(value = "/", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String putBucket() {
+        return WebBody.success();
+    }
+
+    @ApiOperation("检查存储桶是否存在")
+    @RequestMapping(value = "/", method = RequestMethod.HEAD, produces = MediaType.APPLICATION_JSON_VALUE)
+    public String headBucket() {
+        return WebBody.success();
+    }
+
+    @ApiOperation("获取存储桶中的部分对象")
+    @GetMapping(value = "/", produces = MediaType.APPLICATION_XML_VALUE)
+    public ListBucketResult getBucket(@RequestParam("listType") int listType) {
+        // listType = 2
+        ListBucketResult listBucketResult = bucketService.list();
+        return listBucketResult;
+    }
+
+    @ApiOperation(value = "删除指定的存储桶")
+    @DeleteMapping(value = "/", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String deleteBucket() {
+        return WebBody.success();
+    }
+}

+ 0 - 32
src/main/java/cn/reghao/dfs/store/oss/controller/BucketController.java

@@ -19,26 +19,6 @@ import java.util.List;
 @RestController
 @RequestMapping("/bucket")
 public class BucketController {
-    private final BucketService bucketService;
-
-    public BucketController(BucketService bucketService) {
-        this.bucketService = bucketService;
-    }
-
-    @ApiOperation("获取存储桶中的部分对象")
-    @GetMapping(value = "/", produces = MediaType.APPLICATION_XML_VALUE)
-    public ListBucketResult getBucket(@RequestParam("listType") int listType) {
-        // listType = 2
-        ListBucketResult listBucketResult = bucketService.list();
-        return listBucketResult;
-    }
-
-    @ApiOperation(value = "删除指定的存储桶")
-    @DeleteMapping(value = "/", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String deleteBucket() {
-        return WebBody.success();
-    }
-
     @ApiOperation(value = "删除指定存储桶的 CORS 配置")
     @DeleteMapping(value = "/", params = {"cors"}, produces = MediaType.APPLICATION_JSON_VALUE)
     public String deleteBucketCors() {
@@ -153,12 +133,6 @@ public class BucketController {
         return WebBody.success();
     }
 
-    @ApiOperation("检查存储桶是否存在")
-    @RequestMapping(value = "/", method = RequestMethod.HEAD, produces = MediaType.APPLICATION_JSON_VALUE)
-    public String headBucket() {
-        return WebBody.success();
-    }
-
     @ApiOperation("获取存储桶的访问日志保存规则")
     @GetMapping(value = "/", params = {"logging"}, produces = MediaType.APPLICATION_JSON_VALUE)
     public String getBucketLogging() {
@@ -183,12 +157,6 @@ public class BucketController {
         return WebBody.success();
     }
 
-    @ApiOperation("创建一个存储桶")
-    @PutMapping(value = "/", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String putBucket() {
-        return WebBody.success();
-    }
-
     @ApiOperation("添加或修改存储桶的 CORS 配置")
     @PutMapping(value = "/", params = {"cors"}, produces = MediaType.APPLICATION_JSON_VALUE)
     public String putBucketCors() {

+ 82 - 0
src/main/java/cn/reghao/dfs/store/oss/controller/ObjectBasicController.java

@@ -0,0 +1,82 @@
+package cn.reghao.dfs.store.oss.controller;
+
+import cn.reghao.dfs.store.oss.model.po.object.DeleteObjects;
+import cn.reghao.dfs.store.oss.service.ObjectServiceImpl;
+import cn.reghao.jutil.jdk.result.WebBody;
+import cn.reghao.jutil.web.ServletUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.rocksdb.RocksDBException;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.net.URLDecoder;
+import java.nio.charset.StandardCharsets;
+
+/**
+ * @author reghao
+ * @date 2022-12-08 20:38:33
+ */
+@Api(tags = "对象基础操作接口")
+@RestController
+@RequestMapping("/object")
+public class ObjectBasicController {
+    private final ObjectServiceImpl objectService;
+
+    public ObjectBasicController(ObjectServiceImpl objectService) {
+        this.objectService = objectService;
+    }
+
+    @ApiOperation("上传对象")
+    @PutMapping(value = "/**")
+    public String putObject(MultipartFile file) throws Exception {
+        String uri = ServletUtil.getRequest().getRequestURI();
+        String uri1 = URLDecoder.decode(uri, StandardCharsets.UTF_8);
+
+        String objectName = uri1.replace("/object", "");
+        objectService.putObject(objectName, file);
+        return WebBody.success();
+    }
+
+    @ApiOperation("使用 formdata 上传对象")
+    @PostMapping(value = "/")
+    public String postObject(@RequestParam("key") String objectName, @RequestParam("file") MultipartFile file) {
+        return WebBody.success();
+    }
+
+    @ApiOperation("获取对象的元数据")
+    @RequestMapping(value = "/{objectName}", method = RequestMethod.HEAD)
+    public String headObject(@PathVariable("objectName") String objectName) throws RocksDBException {
+        objectService.headObject(objectName);
+        return WebBody.success();
+    }
+
+    @ApiOperation("获取对象")
+    @GetMapping(value = "/**")
+    public void getObject() throws RocksDBException, IOException {
+        String uri = ServletUtil.getRequest().getRequestURI();
+        String uri1 = URLDecoder.decode(uri, StandardCharsets.UTF_8);
+
+        String objectName = uri1.replace("/object", "");
+        objectService.getObject(objectName);
+    }
+
+    @ApiOperation(value = "删除对象")
+    @DeleteMapping(value = "/{objectName}")
+    public String deleteObject(@PathVariable("objectName") String objectName) {
+        return WebBody.success();
+    }
+
+    @ApiOperation(value = "删除多个对象")
+    @PostMapping(value = "/", params = {"delete"})
+    public String deleteMultipleObjects(DeleteObjects deleteObjects) {
+        return WebBody.success();
+    }
+
+    @ApiOperation("创建已存在对象的副本")
+    @PutMapping(value = "/{destinationObject}", params = {"destinationObject"})
+    public String putObjectCopy(@PathVariable("destinationObject") String destinationObject) {
+        return WebBody.success();
+    }
+}

+ 0 - 111
src/main/java/cn/reghao/dfs/store/oss/controller/ObjectController.java

@@ -1,18 +1,9 @@
 package cn.reghao.dfs.store.oss.controller;
 
-import cn.reghao.dfs.store.oss.model.po.object.DeleteObjects;
-import cn.reghao.dfs.store.oss.service.ObjectServiceImpl;
 import cn.reghao.jutil.jdk.result.WebBody;
-import cn.reghao.jutil.web.ServletUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.rocksdb.RocksDBException;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.IOException;
-import java.net.URLDecoder;
-import java.nio.charset.StandardCharsets;
 
 /**
  * @author reghao
@@ -22,99 +13,6 @@ import java.nio.charset.StandardCharsets;
 @RestController
 @RequestMapping("/object")
 public class ObjectController {
-    private final ObjectServiceImpl objectService;
-
-    public ObjectController(ObjectServiceImpl objectService) {
-        this.objectService = objectService;
-    }
-
-    @ApiOperation("上传对象")
-    @PutMapping(value = "/**")
-    public String putObject(MultipartFile file) throws Exception {
-        String uri = ServletUtil.getRequest().getRequestURI();
-        String uri1 = URLDecoder.decode(uri, StandardCharsets.UTF_8);
-
-        String objectName = uri1.replace("/object", "");
-        objectService.putObject(objectName, file);
-        return WebBody.success();
-    }
-
-    @ApiOperation("使用 formdata 上传对象")
-    @PostMapping(value = "/")
-    public String postObject(@RequestParam("key") String objectName, @RequestParam("file") MultipartFile file) {
-        return WebBody.success();
-    }
-
-    @ApiOperation("开启分片上传")
-    @PostMapping(value = "/{objectName}", params = {"uploads"})
-    public String initiateMultipartUpload(@PathVariable("objectName") String objectName) {
-        return WebBody.success();
-    }
-
-    @ApiOperation("分片上传对象")
-    @PutMapping(value = "/{objectName}", params = {"partNumber", "uploadId"})
-    public String uploadPart(@PathVariable("objectName") String objectName,
-                             @RequestParam("partNumber") long partNumber,
-                             @RequestParam("uploadId") String uploadId,
-                             MultipartFile multipartFile) {
-        return WebBody.success();
-    }
-
-    @ApiOperation(value = "完成分片上传")
-    @PostMapping(value = "/{objectName}", params = {"uploadId"})
-    public String completeMultipartUpload(@PathVariable("objectName") String objectName,
-                                          @RequestParam("uploadId") String uploadId) {
-        return WebBody.success();
-    }
-
-    @ApiOperation(value = "终止分片上传")
-    @DeleteMapping(value = "/{objectName}", params = {"uploadId"})
-    public String abortMultipartUpload(@PathVariable("objectName") String objectName,
-                                       @RequestParam("uploadId") String uploadId) {
-        return WebBody.success();
-    }
-
-    @ApiOperation("获取分片 uploadId 下的所有分片")
-    @GetMapping(value = "/{objectName}", params = {"uploadId"})
-    public String listParts(@PathVariable("objectName") String objectName, @RequestParam("uploadId") String uploadId) {
-        return WebBody.success();
-    }
-
-    @ApiOperation("获取对象的元数据")
-    @RequestMapping(value = "/{objectName}", method = RequestMethod.HEAD)
-    public String headObject(@PathVariable("objectName") String objectName) throws RocksDBException {
-        objectService.headObject(objectName);
-        return WebBody.success();
-    }
-
-    @ApiOperation("获取对象")
-    @GetMapping(value = "/**")
-    public void getObject() throws RocksDBException, IOException {
-        String uri = ServletUtil.getRequest().getRequestURI();
-        String uri1 = URLDecoder.decode(uri, StandardCharsets.UTF_8);
-
-        String objectName = uri1.replace("/object", "");
-        objectService.getObject(objectName);
-    }
-
-    @ApiOperation(value = "删除对象")
-    @DeleteMapping(value = "/{objectName}")
-    public String deleteObject(@PathVariable("objectName") String objectName) {
-        return WebBody.success();
-    }
-
-    @ApiOperation(value = "删除多个对象")
-    @PostMapping(value = "/", params = {"delete"})
-    public String deleteMultipleObjects(DeleteObjects deleteObjects) {
-        return WebBody.success();
-    }
-
-    @ApiOperation("创建已存在对象的副本")
-    @PutMapping(value = "/{destinationObject}", params = {"destinationObject"})
-    public String putObjectCopy(@PathVariable("destinationObject") String destinationObject) {
-        return WebBody.success();
-    }
-
     @ApiOperation("开启或关闭对象的依法保留状态")
     @PutMapping(value = "/{objectKey}", params = {"legal-hold"})
     public String putObjectLegalHold(@PathVariable("objectKey") String objectKey) {
@@ -133,15 +31,6 @@ public class ObjectController {
         return WebBody.success();
     }
 
-    @ApiOperation("复制已存在的对象作为源数据上传分片")
-    @PutMapping(value = "/{objectName}", params = {"partNumber", "uploadId"}, headers = {"x-amz-copy-source"})
-    public String uploadPartCopy(@PathVariable("objectName") String objectName,
-                             @RequestParam("partNumber") long partNumber,
-                             @RequestParam("uploadId") String uploadId,
-                             MultipartFile multipartFile) {
-        return WebBody.success();
-    }
-
     @ApiOperation(value = "对存储类型为 GLACIER 的对象还原临时副本")
     @PostMapping(value = "/{objectName}", params = {"restore"})
     public String postObjectRestore(@PathVariable("objectName") String objectName) {

+ 60 - 0
src/main/java/cn/reghao/dfs/store/oss/controller/ObjectMultipartUploadController.java

@@ -0,0 +1,60 @@
+package cn.reghao.dfs.store.oss.controller;
+
+import cn.reghao.jutil.jdk.result.WebBody;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * @author reghao
+ * @date 2022-12-08 20:40:55
+ */
+@Api(tags = "对象分片上传接口")
+@RestController
+@RequestMapping("/object")
+public class ObjectMultipartUploadController {
+    @ApiOperation("开启分片上传")
+    @PostMapping(value = "/{objectName}", params = {"uploads"})
+    public String initiateMultipartUpload(@PathVariable("objectName") String objectName) {
+        return WebBody.success();
+    }
+
+    @ApiOperation("分片上传对象")
+    @PutMapping(value = "/{objectName}", params = {"partNumber", "uploadId"})
+    public String uploadPart(@PathVariable("objectName") String objectName,
+                             @RequestParam("partNumber") long partNumber,
+                             @RequestParam("uploadId") String uploadId,
+                             MultipartFile multipartFile) {
+        return WebBody.success();
+    }
+
+    @ApiOperation(value = "完成分片上传")
+    @PostMapping(value = "/{objectName}", params = {"uploadId"})
+    public String completeMultipartUpload(@PathVariable("objectName") String objectName,
+                                          @RequestParam("uploadId") String uploadId) {
+        return WebBody.success();
+    }
+
+    @ApiOperation(value = "终止分片上传")
+    @DeleteMapping(value = "/{objectName}", params = {"uploadId"})
+    public String abortMultipartUpload(@PathVariable("objectName") String objectName,
+                                       @RequestParam("uploadId") String uploadId) {
+        return WebBody.success();
+    }
+
+    @ApiOperation("获取分片 uploadId 下的所有分片")
+    @GetMapping(value = "/{objectName}", params = {"uploadId"})
+    public String listParts(@PathVariable("objectName") String objectName, @RequestParam("uploadId") String uploadId) {
+        return WebBody.success();
+    }
+
+    @ApiOperation("复制已存在的对象作为源数据上传分片")
+    @PutMapping(value = "/{objectName}", params = {"partNumber", "uploadId"}, headers = {"x-amz-copy-source"})
+    public String uploadPartCopy(@PathVariable("objectName") String objectName,
+                                 @RequestParam("partNumber") long partNumber,
+                                 @RequestParam("uploadId") String uploadId,
+                                 MultipartFile multipartFile) {
+        return WebBody.success();
+    }
+}

+ 11 - 0
src/main/java/cn/reghao/dfs/store/oss/service/BucketBasicService.java

@@ -0,0 +1,11 @@
+package cn.reghao.dfs.store.oss.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+ * @author reghao
+ * @date 2022-12-08 20:43:36
+ */
+@Service
+public class BucketBasicService {
+}

+ 11 - 0
src/main/java/cn/reghao/dfs/store/oss/service/ObjectBasicService.java

@@ -0,0 +1,11 @@
+package cn.reghao.dfs.store.oss.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+ * @author reghao
+ * @date 2022-12-08 20:43:47
+ */
+@Service
+public class ObjectBasicService {
+}

+ 11 - 0
src/main/java/cn/reghao/dfs/store/oss/service/ObjectMultipartUploadService.java

@@ -0,0 +1,11 @@
+package cn.reghao.dfs.store.oss.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+ * @author reghao
+ * @date 2022-12-08 20:44:16
+ */
+@Service
+public class ObjectMultipartUploadService {
+}