跳至主要內容

如何使用

码匠君SASSpring Authorization ServerDante Cloud微服务领域驱动DDDSpring BootSpring CloudSpring SecuritySpring Cloud AlibabaSpring Cloud TencentOAuth2.1NacosSkywalkingSentinelSeata大约 3 分钟

如何使用

一、基本使用

  1. maven 中引入
<dependency>
    <groupId>cn.herodotus.oss</groupId>
    <artifactId>oss-spring-boot-starter</artifactId>
    <version>最新版本</version>
</dependency>
  1. 配置 yml 参数
herodotus:
  oss:
    dialect: minio
    minio:
      endpoint: http://127.0.0.1:9000
      access-key: XXXXXXXXX
      secret-key: XXXXXXXXX
      use-proxy: true
      proxy-source-endpoint: http://localhost:3000/api
  1. 统一错误处理
// 参考代码
public static Result<String> resolveException(Exception ex, String path) {
    return GlobalExceptionHandler.resolveException(ex, path);
}

// 或者

@ExceptionHandler({HerodotusException.classPlatformException.class})
public static Result<String> exception(Exception ex, HttpServletRequest request, HttpServletResponse response) {
    ······
}
  1. 交互性错误信息反馈
// 在系统统一错误处,调用以下代码即可返回包含自定义错误码的、更具交互性错误信息。
if (ex instanceof HerodotusException exception) {
    Result<String> result = exception.getResult();
    result.path(path);
    log.error("[Herodotus] |- Global Exception Handler, Error is : {}", result);
    return result;
}

二、选择使用

除了 dialect-coreoss-specification 模块以外,其它所有模块均可以单独使用。可以根据自身需要,仅选择某个模块进行使用。

1. dialect-sdk-aliyun

包含对 Aliyun 基础 API 封装的 Service 代码, 作为 OSS 统一抽象的实现方式之一,也包含对 Dante Java OSS API 规范的实现代码。可以单独使用,引入 oss-aliyun-spring-boot-starter 可开启自动配置。

目前暂不提供 Aliyun REST API 封装,请根据自身的需要直接申请使用阿里云 REST API 或者使用 Dante OSS 统一 REST API 接口。

2. dialect-sdk-s3

包含对 Amazon S3 基础 API 封装的 Service 代码, 作为 OSS 统一抽象的实现方式之一,也包含对 Dante Java OSS API 规范的实现代码。可以单独使用,引入 oss-s3-spring-boot-starter 可开启自动配置。

目前暂不提供 Amazon S3 REST API 封装,请根据自身的需要直接申请使用 Amazon S3 REST API 或者使用 Dante OSS 统一 REST API 接口。

3. dialect-sdk-minio

包含对 Minio 基础 API 封装的 Service 代码, 作为 OSS 统一抽象的实现方式之一,也包含对 Dante Java OSS API 规范的实现代码。

提供 Minio 标准操作 REST API 封装 rest-sdk-minio

注意:rest-sdk-minio 中不包含大文件分片上传通用解决方案业务功能以及符合 Dante Java OSS API 规范的通用功能 REST API

使用 oss-minio-spring-boot-starter 可统一开启 Minio Service 和 REST API 自动配置。

4. rest-sdk-minio

提供 Minio 标准操作 REST API 封装。使用 oss-minio-spring-boot-starter 可统一开启 Minio Service 和 REST API 自动配置。

5. rest-sdk-specification

rest-sdk-specification 是通过对 Minio、Aliyun、Amazon S3 现有 API 共性内容进行抽象,提取 Dante Java OSS API 规范定义后,形成的统一操作 REST API。目标是形成类似于 Spring Data Repository 统一形式的 Java OSS API 和 REST API,以期在不修改代码的情况下,以一套 API 就可以支持不同的 OSS 厂商的无缝切换。

6. oss-solution

是对大文件分片等主流对象存储业务解决方案的高度抽象,以及相关管理操作 Dante Java OSS API 规范封装。使用该模块就可以方便的、快捷的集成或自定义自己大文件分片实现。

7. oss-spring-boot-starter

Dante OSS 的所有内容,可直接引入使用。以 OSS 共性抽象为基础,通过 Spring Boot 配置,实现不同 OSS 操作实现的切换。目前以 Minio 作为默认实现,同时提供 Minio 相关完整的 REST API。Aliyun 和 Amazon S3 目前仅包含对其 Java SDK 封装的 Service API,作为不同 OSS 实现的可选项。如要使用其 REST API 的方式,请直接按照对应厂商官网文档操作申请即可,暂不考虑将这一部分融入 Dante OSS。

注意

随着 OSS 共性内容抽象的不断完善,rest-sdk-scenario 中相关的内容,可能会逐步迁移至其它模块中。