Spring Cloud 使用自定义存根下载器
2024-01-02 16:47 更新
您可以通过创建StubDownloaderBuilder
接口的实现来自定义存根的下载方式,如以下示例所示:
package com.example; class CustomStubDownloaderBuilder implements StubDownloaderBuilder { @Override public StubDownloader build(final StubRunnerOptions stubRunnerOptions) { return new StubDownloader() { @Override public Map.Entry<StubConfiguration, File> downloadAndUnpackStubJar( StubConfiguration config) { File unpackedStubs = retrieveStubs(); return new AbstractMap.SimpleEntry<>( new StubConfiguration(config.getGroupId(), config.getArtifactId(), version, config.getClassifier()), unpackedStubs); } File retrieveStubs() { // here goes your custom logic to provide a folder where all the stubs reside } }
然后,可以将其注册到spring.factories
文件中,如以下示例所示:
# Example of a custom Stub Downloader Provider org.springframework.cloud.contract.stubrunner.StubDownloaderBuilder=\ com.example.CustomStubDownloaderBuilder
现在,您可以选择一个包含存根源的文件夹。
如果不提供任何实现,则使用默认设置(扫描类路径)。如果提供
stubsMode = StubRunnerProperties.StubsMode.LOCAL
或, stubsMode = StubRunnerProperties.StubsMode.REMOTE
,则将使用Aether实现。如果提供多个,则将使用列表中的第一个。
以上内容是否对您有帮助:
更多建议: