Попытка получить значения с параметрами в angular - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь передать данные из "http://169.38.82.132: 94 / GetFarmerInfo " в "http://localhost: 4200 / ". В этом URL-адресе «http://169.38.82.132: 94 / GetFarmerInfo » я пытаюсь передать параметры как «имя авторизации и экземпляра», поэтому мой файл конфигурации

{
  "/api": {
    "target": "http://169.38.82.132:94",
    "secure": false,
    "Authorization": "bearer uRf0e8upueR4qTh_HSjzF9KiVxuXN8qK4UqHZez4LdX7DYZOsee4h0Fq1PupKGTFEIzbjq9gjiaVOtPeoayIh212nDyHOEilH2chHeXz4pXzAb8YLC4aJZ0WAEOmq0werPUeaS5c5frXo_P3iwXFtTezCxsYRkNnrXoLOfkHJsxRGW91m19EqzQgqcY5q6jQUQRZeXB9KYpI6THLLnED7ZQDNJZgTjdcuKCb-Gmb1XHD_L_V_BDlbuaEcjH3Qx52f2wOsmtyWGGQEjRMfOFtpO3KJFFmpEIVH0WxsRl5L-eg7S21i_tuT1rDQMdapXiS",
    "InstanceName":"ORISSA",
    "pathRewrite": {
      "/": ""
    }
  },
  "logLevel": "debug"

}

, а файл службы

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';

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

  constructor(private http:HttpClient) { }

  fetchPeople(): Observable<Object>{

    return this.http.get('/GetFarmerInfo');

  };

}

после запуска npm start получаю ответ как «GET http://localhost: 4200 / GetFarmerInfo 404 (не найдено)». Есть ли другой способ передачи параметров.

1 Ответ

0 голосов
/ 27 февраля 2020

Измените функцию поиска людей на.

fetchPeople(): Observable<Object>{

    return this.http.get('http://169.38.82.132:94/GetFarmerInfo');

  };

Вы должны указать точный URL своего API. http://169.38.82.132:94/GetFarmerInfo в вашей функции HTTP.

ДОБАВЛЕНИЕ ЗАГОЛОВОК

let headers = new HttpHeaders({
    'Authorization': 'bearer uRf0e8upueR4qTh_HSjzF9KiVxuXN8qK4UqHZez4LdX7DYZOsee4h0Fq1PupKGTFEIzbjq9gjiaVOtPeoayIh212nDyHOEilH2chHeXz4pXzAb8YLC4aJZ0WAEOmq0werPUeaS5c5frXo_P3iwXFtTezCxsYRkNnrXoLOfkHJsxRGW91m19EqzQgqcY5q6jQUQRZeXB9KYpI6THLLnED7ZQDNJZgTjdcuKCb-Gmb1XHD_L_V_BDlbuaEcjH3Qx52f2wOsmtyWGGQEjRMfOFtpO3KJFFmpEIVH0WxsRl5L-eg7S21i_tuT1rDQMdapXiS',
    'InstanceName': 'ORISSA'
});

Затем передайте заголовки в вашу функцию.

fetchPeople(): Observable<Object>{

    return this.http.get('http://169.38.82.132:94/GetFarmerInfo', { headers: this.headers});

  };

Я бы порекомендовал вы должны использовать HTTP Interceptors для всех ваших запросов http.

Попробуйте этот код

import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';

@Injectable({ providedIn: 'root' })
export class PeopleService {
  constructor(private http: HttpClient) { }
   headers = new HttpHeaders({ 'Authorization': 'bearer uRf0e8upueR4qTh....', 'InstanceName': 'ORISSA' });
  fetchPeople() { return this.http.get('http://169.38.82.132:94/GetFarmerInfo', { headers: this.headers }); };
}
...