【问题标题】:Get active spring profile in Angular2在Angular2中获取活动弹簧轮廓
【发布时间】:2018-02-15 08:59:21
【问题描述】:

我们在 Web 应用程序中使用 Angular 和 Spring Boot。我们有 dev、test 和 prod spring 配置文件,我们用来加载不同的属性取决于环境应用程序运行。这使我们能够对不同执行环境的值不同的属性进行参数化。

问题:我们可以在 Angular 方面做同样的事情吗?如果“开发”弹簧配置文件处于活动状态,如何在 Angular 方面知道这一点?

【问题讨论】:

  • 顾名思义,spring profile是一个spring(后端)的概念。 Anglar 无法知道这一点。如果您想知道,那么您必须编写一个返回活动配置文件的休息端点。您可以从 Angular 调用它
  • @David 这是 Angular 2
  • @pvpkiran 我们已经这样做了,但是遇到了麻烦,因为 Angular 的工作速度比获取请求快,而且我们在这方面遇到了麻烦。如果您有一些首选的方法,可以提供一个链接吗?
  • 您所说的“Angular 的工作速度比获取请求的速度更快”是什么意思?假设您从后端获得了个人资料。你想在前端做什么?
  • 好的。在设置之前,您需要调用一个休息端点并检查哪个配置文件处于活动状态

标签: angular spring-boot


【解决方案1】:

在后端添加这样的控制器

@RestController
@RequestMapping("/profile")
public class ProfileController {

  @Autowired
  Environment environment;

  @GetMapping
  public ResponseEntity<List<String>> getCurrentActiveProfiles() {
    return ResponseEntity.ok(Arrays.asList(environment.getActiveProfiles()));
  }
}

并使用 Get http://&lt;host&gt;:&lt;port&gt;/profile&gt; 从您的角度代码调用此端点 你会得到一个逗号分隔的配置文件名称列表。

【讨论】:

    【解决方案2】:
    import {isDevMode} from '@angular/core';
    
    if (isDevMode()) { 
       console.log('Development mode')
    }
    

    【讨论】:

      猜你喜欢
      • 2015-05-16
      • 1970-01-01
      • 1970-01-01
      • 2014-08-01
      • 1970-01-01
      • 2019-09-30
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      相关资源
      最近更新 更多