如何从 Spring Cloud 配置服务器存储和访问 html 文件?

Posted

技术标签:

【中文标题】如何从 Spring Cloud 配置服务器存储和访问 html 文件?【英文标题】:How to store and access html files from spring cloud config server? 【发布时间】:2021-02-03 00:04:12 【问题描述】:

我想将电子邮件模板外部化以发送电子邮件通知,因此我将它们存储在 GIT 存储库中的模板文件夹中,该文件夹映射到我们的 spring-cloud-config 服务器。

git 存储库中的模板文件夹有一些 .html 文件。有人可以帮助我使用云配置 URL 来访问 .html 文件。

【问题讨论】:

基于文档,它只提供配置 - “Spring Cloud Config Server 为外部配置提供了一个基于 HTTP 资源的 API(名称-值对或等效的 YAML 内容)”cloud.spring.io/spring-cloud-config/multi/… 您可以添加用于提供模板的自定义端点。 除非我理解错了,否则它似乎可以提供纯文本:cloud.spring.io/spring-cloud-config/multi/… 感谢@GaëlMarziou 的回复我尝试了链接cloud.spring.io/spring-cloud-config/multi/… 中提到的解决方案我已将我的HTML 文件存储为.txt 文件并尝试使用URL http:///name/profile/label/samplehtml.txt 但我得到的是 application.yml 级别的配置详细信息而不是 samplehtml.txt 详细信息我实际上使用 JHipster 注册表作为 spring-cloud-config,按照spring-docs 我们应该得到 .txt 文件。我们是否需要添加任何额外的配置来访问纯文本文件? @GaëlMarziou 我能够访问 YAML 等效内容的配置。我仅在访问非 YAML 等效文件(即 .html、.txt 等)时遇到问题。请告诉我,要通过 spring-cloud-config 访问这些文件,我们需要在我的 Jhipster Registry 中进行任何其他配置吗?提前致谢 @JonRuddell,感谢您的回复。我使用 Jhipster Registry 作为 spring-cloud-config 服务器,您建议的自定义端点是否必须直接通过 GIT 访问 .html 模板文件,还是有任何其他方式可以访问它们? 【参考方案1】:

生成应用

例如,采用使用jh import-jdl --inline "application config applicationType microservice, baseName ms " 创建的baseName 为ms 的默认微服务应用程序

添加 HTML 文件

添加文件src/main/docker/central-server-config/localhost-config/example.html:

<html><body><h1>$configserver.name</h1></body></html>

启动 JHipster 注册表

使用docker-compose -f src/main/docker/jhipster-registry.yml up -d 启动 JHipster Registry,它将为我们创建的配置和 HTML 文件提供服务。

请求 HTML 文件

要通过 JHipster Registry 访问此文件,您可以使用以下 URL。模板中的任何变量都将替换为 JHipster Registry 配置文件中存在的配置变量。格式为:http://user:password@registry-url:8761/config/app-name/profile/git-label/example.html:

curl http://admin:admin@localhost:8761/config/ms/prod/master/example.html

哪个会返回:

<html><body><h1>Docker JHipster Registry</h1></body></html>

【讨论】:

以上是关于如何从 Spring Cloud 配置服务器存储和访问 html 文件?的主要内容,如果未能解决你的问题,请参考以下文章

使用Spring Cloud Config进行分布式配置:自动重新加载配置

如何要求 Spring Cloud Config 服务器从特定分支签出配置?

Spring Cloud Config(统一配置中心服务端和客户端)

Spring Cloud构建微服务架构分布式配置中心

Spring cloud config客户端属性没有得到解决

spring cloud 入门系列七:基于Git存储的分布式配置中心--Spring Cloud Config