我有一个在jboss应用程序服务器上运行的有角度的应用程序(war格式)。我的实际体系结构是:前端应用程序(angular)和后端应用程序(java),前端使用src / conf / config.json文件中提供的rest api链接回调服务。 这是我的应用程序配置文件:
{
"restApiUrl": "https://jboss_host:8443/back/rest/",
"ldapAuthentication" : true
}
所以,我现在的需求(客户需求)是外部化此配置文件,以轻松更改其余api链接,而无需进行重建或重新部署过程。
我无法在体系结构中使用任何其他元素(revers-proxy,conf服务器),因为它将成为客户端生产或api数据库的难题(数据库连接由后台服务提供)。
请告知。
答案 0 :(得分:0)
如果您不想通过http加载配置文件,请尝试使用config.js
文件。
将config.json
重命名为config.js
并将内容更改为此:
var config = {
"restApiUrl": "https://jboss_host:8443/back/rest/",
"ldapAuthentication" : true
}
然后将配置文件包含到应用程序中的index.html
中:
<script type="text/javascript" src="config.js"></script>
在角度应用程序中,您可以通过(<any>window).config
访问此配置。
为了更方便地使用,请创建ConfigService
,例如:
@Injectable({providedIn: 'root'})
export class ConfigService {
getConfig(): Config { // You should create some model of your config too or you can use 'any'
return (<any>window).config;
}
}
答案 1 :(得分:0)
@mpstv感谢您的重放。 通过使用Java servlet的强大功能,我能够解决此问题。解决方案是在项目战中添加WEB-INF文件夹(servlet.class + web.xml),该文件夹将从文件系统中收取配置文件的费用,并在HTTP调用时将其提供给有角度的人。