当前位置: 首页 > article >正文

springboot检测配置是否存在,如果存在则返回,不存在则提示新增

我这里是以七牛为例子

在yml中添加七牛的相关配置

 

qiniu: #七牛的相关配置
  accessKey: your_access_key
  secretKey: your_secret_key
  bucket: your_bucket_name
  domain: your_domain

 对应在给配置文件来一个相应的实体类QiniuConfig

@Component
@ConfigurationProperties(prefix = "qiniu")//获取配置
public class QiniuConfig {

    //七牛云提供的密钥对,用于身份验证
    private String accessKey;
    private String secretKey;
    //存储空间名称
    private String bucket;
    //存储空间绑定的域名
    private String domain;


    public String getAccessKey() {
        return accessKey;
    }

    public void setAccessKey(String accessKey) {
        this.accessKey = accessKey;
    }

    public String getSecretKey() {
        return secretKey;
    }

    public void setSecretKey(String secretKey) {
        this.secretKey = secretKey;
    }

    public String getBucket() {
        return bucket;
    }

    public void setBucket(String bucket) {
        this.bucket = bucket;
    }

    public String getDomain() {
        return domain;
    }

    public void setDomain(String domain) {
        this.domain = domain;
    }

    public QiniuConfig() {
    }

    public QiniuConfig(String domain, String bucket, String secretKey, String accessKey) {
        this.domain = domain;
        this.bucket = bucket;
        this.secretKey = secretKey;
        this.accessKey = accessKey;
    }
}

在补全相应的service

 

@Service
public class CommonServiceImpl {


    private final QiniuConfig qiniuConfig;

    @Autowired
    public CommonServiceImpl(QiniuConfig qiniuConfig) {
        this.qiniuConfig = qiniuConfig;
    }



    /**
     * 检查七牛云配置并返回相应信息。
     *
     * @return 如果配置存在,则返回配置信息;如果不存在,则提示添加配置。
     */
    public R<QiniuConfig> getQiniuConfig() {
        if (isQiniuConfigured()) {
            return R.success(qiniuConfig);
        } else {
            return R.error("请在配置文件中添加七牛云的相关配置。");
        }
    }

    /**
     * 检查是否已配置七牛云。
     *
     * @return 如果配置存在返回true,否则返回false。
     */
    private boolean isQiniuConfigured() {
        return qiniuConfig != null &&
                qiniuConfig.getAccessKey() != null && !qiniuConfig.getAccessKey().isEmpty() &&
                qiniuConfig.getSecretKey() != null && !qiniuConfig.getSecretKey().isEmpty() &&
                qiniuConfig.getBucket() != null && !qiniuConfig.getBucket().isEmpty() &&
                qiniuConfig.getDomain() != null && !qiniuConfig.getDomain().isEmpty();
    }

}

重点在这里

在补全相关的controller

/**
 * 公共配置controller
 */
@Controller
@ResponseBody
@RequestMapping("/commonConfig")
@Tag(name = "公共配置controller")
public class CommonController {

    @Autowired
    private CommonServiceImpl commonService;

    @Operation(summary = "获取七牛的相关配置", description = "获取七牛的相关配置")
    @GetMapping("/getQiniu")
    public R getQiniuConfig() {
        return commonService.getQiniuConfig();
    }


}

 最后测试


http://www.kler.cn/a/445618.html

相关文章:

  • 使用Python实现量子通信模拟:探索安全通信的未来
  • 在ESP32使用AT指令集与服务器进行TCP/IP通信时,<link ID> 解释
  • Kingbase数据库备份还原操作手册
  • LabVIEW与PLC点位控制及OPC通讯
  • 【系统】Mac crontab 无法退出编辑模式问题
  • 3、交换机IP路由功能
  • 网站安全监测存在的挑战,以及应对方案
  • java线程共享模型之管程(synchronized原理、wait-notify、park方法)
  • 【波数】常见波数计算公式及分析
  • 防火墙(RHCE)
  • RNN LSTM Seq2Seq Attention
  • VR展厅模板在各种平台上运行效果如何?
  • HTTP—02
  • 如何在Anaconda的虚拟环境中下载Python包
  • 学习记录:electron主进程与渲染进程直接的通信示例【开箱即用】
  • 类似于GitHub的平台
  • 【C语言】特殊指针汇总
  • 【Ubuntu】截图软件flameshort
  • docker--压缩镜像和加载镜像
  • Go 语言常量
  • Webpack中Loader和Plugin的区别
  • 怎么利用Redis实现延时队列?
  • 机器智能能产生算计吗?
  • 分布式全文检索引擎ElasticSearch-数据的写入存储底层原理
  • C语言——实现百分制换算为等级分
  • 多模块的spring boot项目发布指定模块的脚本