@Configuration
@EnableConfigurationProperties(value={MagicGitSyncProperties.class,org.ssssssss.magicapi.git.MagicGitProperties.class})
@ConditionalOnClass(value={org.ssssssss.magicapi.git.MagicGitProperties.class,org.eclipse.jgit.api.Git.class})
@AutoConfigureBefore(name="org.ssssssss.magicapi.git.MagicGitConfiguration")
@AutoConfigureAfter(name="org.ssssssss.magicapi.spring.boot.starter.MagicAPIAutoConfiguration")
@ConditionalOnProperty(name="magic-api.git-sync.enabled",
havingValue="true",
matchIfMissing=true)
public class MagicGitSyncAutoConfiguration
extends Object
接入方式:项目引入本 starter,且 magic-api 已启用 git 存储 (magic-api.resource.type=git)即自动生效,无需任何额外配置。
接管 git 存储资源:本配置通过 AutoConfigureBefore 抢在官方
MagicGitConfiguration 之前注册 GitSyncResource,官方 magicGitResource
带 @ConditionalOnMissingBean 会自动让位,从而获得两项增强能力:
关闭方式:magic-api.git-sync.enabled=false
| Constructor and Description |
|---|
MagicGitSyncAutoConfiguration() |
| Modifier and Type | Method and Description |
|---|---|
MagicConfigJsNoCacheFilter |
magicConfigJsNoCacheFilter()
禁止浏览器缓存编辑器配置脚本(config-js),
保证升级插件后刷新页面即可加载到最新的注入脚本
|
GitRepoHelper |
magicGitRepoHelper(org.ssssssss.magicapi.git.MagicGitProperties gitProperties,
org.ssssssss.magicapi.core.config.MagicAPIProperties magicAPIProperties,
MagicGitSyncProperties syncProperties,
org.springframework.beans.factory.ObjectProvider<DataSource> dataSourceProvider,
org.ssssssss.magicapi.core.interceptor.AuthorizationInterceptor authorizationInterceptor) |
org.ssssssss.magicapi.core.resource.Resource |
magicGitResource(GitRepoHelper magicGitRepoHelper,
MagicGitSyncProperties syncProperties)
增强版 Git 存储资源,顶替官方 GitResource(官方 Bean 带 @ConditionalOnMissingBean)
|
MagicGitSyncController |
magicGitSyncController(MagicGitSyncService magicGitSyncService,
org.ssssssss.magicapi.core.interceptor.AuthorizationInterceptor authorizationInterceptor) |
MagicGitSyncService |
magicGitSyncService(GitRepoHelper magicGitRepoHelper,
org.ssssssss.magicapi.core.service.MagicResourceService magicResourceService) |
@Bean @ConditionalOnMissingBean public GitRepoHelper magicGitRepoHelper(org.ssssssss.magicapi.git.MagicGitProperties gitProperties, org.ssssssss.magicapi.core.config.MagicAPIProperties magicAPIProperties, MagicGitSyncProperties syncProperties, org.springframework.beans.factory.ObjectProvider<DataSource> dataSourceProvider, org.ssssssss.magicapi.core.interceptor.AuthorizationInterceptor authorizationInterceptor)
@Bean
@ConditionalOnProperty(prefix="magic-api",
name="resource.type",
havingValue="git")
public org.ssssssss.magicapi.core.resource.Resource magicGitResource(GitRepoHelper magicGitRepoHelper,
MagicGitSyncProperties syncProperties)
throws Exception
Exception@Bean @ConditionalOnMissingBean public MagicGitSyncService magicGitSyncService(GitRepoHelper magicGitRepoHelper, org.ssssssss.magicapi.core.service.MagicResourceService magicResourceService)
@Bean @ConditionalOnMissingBean public MagicGitSyncController magicGitSyncController(MagicGitSyncService magicGitSyncService, org.ssssssss.magicapi.core.interceptor.AuthorizationInterceptor authorizationInterceptor)
@Bean @ConditionalOnMissingBean public MagicConfigJsNoCacheFilter magicConfigJsNoCacheFilter()
Copyright © 2026. All rights reserved.