我的应用程序中有一个application.yml文件
spring:
profiles:
active: default,dev
app:
properties:
lucene:
indexInfoFile: ${spring.jpa.properties.hibernate.search.default.indexBase}/index.properties
reindex: false
storage:
home: ${user.home}/xxx
basePath: ${app.properties.storage.home}/uploads/
staticFilesPrefix: /files/
appUrl: /app/
spring:
profiles: dev
http:
multipart:
max-file-size: 3MB
max-request-Size: 3MB
现在在我的控制器中,我试图从yml文件中获取数据并且代码是
$http.get('/resources/application.yml').then(function (response) {
console.log('entire data is ', response.data);
console.log('basePath is ', response.data.basePath);
});
整个数据打印完美(整个yml文件正在打印)但是当我尝试打印特定属性如basePath,max-file-size等我得到"未定义错误"。
我的问题是如何在控制台上打印特定属性。
答案 0 :(得分:1)
我不建议直接在Angular中访问yml文件。 格式很难解析(因此你的问题),你迟早可能不想公开所有的劝告细节。
而是在spring中创建一个映射到/ config之类的rest控制器 让spring使用@Value注入你需要的所有配置值,并返回一个Map或一个简单的PoJo,其中包含你需要的属性。
Spring会将此转换为JSON,您可以在Angular中轻松使用它。