Вызов внешнего API с Angular 6 в производстве - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь вызвать Flask API из Heroku из углового веб-приложения, также размещенного в Heroku. Я могу сделать это локально с файлом proxy.conf.json .

Как мне это сделать, когда API и веб-приложение работают? Оба на серверах Heroku.

В моей службе я попытался вызвать весь URL вместо:

getCars() {
    return this.http.get<Car[]>('https://bbd-api.herokuapp.com/api/car');
}

Это не работает.

Домашний компонент

import { Component, OnInit } from '@angular/core';
import { CarsService, Car } from '../cars.service';

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css']
})

export class HomeComponent implements OnInit {

  cars: Car[];

  constructor(
    public carService: CarsService
  ) { 
    this.getCars();
  }

  ngOnInit() {

  }

  getCars(){
    this.carService.getCars().subscribe(
      data => {
        this.cars = data;
      },
      error => {
        alert("Could not retrieve a list of cars");
      }
    )
  };

}

Услуги

import { Injectable } from '@angular/core';

import { HttpClient } from '@angular/common/http';

export interface Car {
  color: string;
  make: string;
  model: string;
  year: string;
}

@Injectable({
  providedIn: 'root'
})
export class CarsService {

  constructor(
    public http: HttpClient
  ) { }

  getCars() {
    return this.http.get<Car[]>('https://bbd-api.herokuapp.com/api/car');
  }
}

Есть предложения? Не удается заставить его работать на производственных серверах Heroku.

...