Каков наилучший подход - передача запроса API на другой сервер (или) с использованием URL-адреса напрямую? - PullRequest
0 голосов
/ 11 февраля 2019

В Angular я узнал, что мы можем прокси-запрос API или мы можем использовать URL-адрес напрямую, без использования каких-либо настроек прокси.Я изучил два подхода:

с прокси:

proxy.config.json

{
  "/api": {
    "target": "http://localhost:3000",
    "secure": false
  }
}

package.json:

отредактировать "start" вашего package.jsson

"start": "ng serve --proxy-config proxy.conf.json",

Без прокси:

Рассмотрим любой файл службы для выполнения вызовов REST API:

user.service.ts

@Injectable()
export class UserService {

public API = 'http://localhost:8080';
 constructor(private http: HttpClient) {
  }

  getAllUsers(): Observable<any> {
    return this.http.get(this.API + '/users');
  }

}

Итак, какой из этих методов является правильным методом приближения?Как мы используем это в производственной среде?Если есть другие подобные альтернативы, пожалуйста, дайте мне знать.

1 Ответ

0 голосов
/ 11 февраля 2019

Этот прокси работает только в режиме разработки, который открывается ng serve.В производственном режиме вам необходимо выполнить ту же работу с Nginx, Apache или любым другим приложением веб-сервера, которое обслуживает проект Angular.

Если вы запрашиваете вызов XHR напрямую, вы должны решить проблему с CORS.Поэтому я рекомендую прежний.

...