在angularjs中解析application.yml

时间:2017-01-22 11:35:54

标签: angularjs spring-boot

我的应用程序中有一个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等我得到"未定义错误"。

我的问题是如何在控制台上打印特定属性。

1 个答案:

答案 0 :(得分:1)

我不建议直接在Angular中访问yml文件。 格式很难解析(因此你的问题),你迟早可能不想公开所有的劝告细节。

而是在spring中创建一个映射到/ config之类的rest控制器 让spring使用@Value注入你需要的所有配置值,并返回一个Map或一个简单的PoJo,其中包含你需要的属性。

Spring会将此转换为JSON,您可以在Angular中轻松使用它。