import {Component, OnInit} from '@angular/core';
import {HttpClient, HttpErrorResponse, HttpResponse} from '@angular/common/http';
@Component({
selector: 'git',
templateUrl: './git.component.html'
})
export class GitComponent implements OnInit {
constructor(private http: HttpClient) {
}
ngOnInit(): void {
const headers = {authorization: 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJzYXNobyIsImF1dGgiOiJST0xFX1VTRVIiLCJleHAiOjE1MjQwODcyMzJ9.MUv5RgI9LxQyrrCfjfX8HR2-XiQmz4vjLqH7V_0Du7VFLC0WrK_y3FfeNoT2Nj_uguIK2ss7jv-LNiHuCGtz4A'};
this.http.get('http://localhost:8080/links/all', headers)
.subscribe((e) => {
console.info(e);
}, (err: HttpErrorResponse) => {
console.info(err);
});
}
}
В http.get как установить авторизацию? Я хочу использовать токен на предъявителя, сохраненный в const headers. Это все. Спасибо
Обновлено: я забыл упомянуть, что я хотел знать, как установить его вручную здесь, а не с перехватчиком, все учебники, где с перехватчиками, и поэтому я не мог понять это



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете посмотреть на Angular http-перехватчик, чтобы добавить токен к каждому исходящему запросу: https://medium.com/@ryanchenkie_40935/angular-authentication-using-the-http-client-and-http-interceptors-2f9d1540eb8
попробуйте что-нибудь вроде этого:
let authorization: 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJzYXNobyIsImF1dGgiOiJST0xFX1VTRVIiLCJleHAiOjE1MjQwODcyMzJ9.MUv5RgI9LxQyrrCfjfX8HR2-XiQmz4vjLqH7V_0Du7VFLC0WrK_y3FfeNoT2Nj_uguIK2ss7jv-LNiHuCGtz4A'
let header: Headers = new Headers;
header.set('authorization', this.authorization);
this.http.get('http://localhost:8080/links/all',
{headers: header}).subscribe((e) => {
console.info(e);
}, (err: HttpErrorResponse) => {
console.info(err);
});
Попробуй это:
import {Component, OnInit} from '@angular/core';
import {HttpClient, HttpErrorResponse, HttpResponse} from '@angular/common/http';
@Component({
selector: 'git',
templateUrl: './git.component.html'
})
export class GitComponent implements OnInit {
constructor(private http: HttpClient) {
}
ngOnInit(): void {
const headers = 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJzYXNobyIsImF1dGgiOiJST0xFX1VTRVIiLCJleHAiOjE1MjQwODcyMzJ9.MUv5RgI9LxQyrrCfjfX8HR2-XiQmz4vjLqH7V_0Du7VFLC0WrK_y3FfeNoT2Nj_uguIK2ss7jv-LNiHuCGtz4A';
this.http.get('http://localhost:8080/links/all', {
headers: new HttpHeaders().set('Authorization', headers )
})
.subscribe((e) => {
console.info(e);
}, (err: HttpErrorResponse) => {
console.info(err);
});
}
}
Чтобы получить статус ответа: e.status из ответа
Вам нужен ваш объект заголовков внутри, другой объект get(....., { headers })
Второй аргумент - это общий объект options, для headers запрос params и т. д. См. https://angular.io/api/common/http/HttpClient
(В отличие от некоторых других ответов, вам не нужно переносить заголовок в объекты HttpHeaders, поскольку принятый тип перегружен)
Ты за ответ, я просто хочу немного подружиться. Это возвращает результат от бэкэнда, но как я могу получить статус ответа http, например,
200,400,404,403?