Знаете ли вы, как я могу отправить свою форму, используя HttpInterceptor?Мой метод GET это нормально, используя перехватчик, получающий токен и приносящий результат и т.д. ... но когда я пытаюсь отправить свою форму, ничего не происходит, сервер не вызывается.
TokenInterceptor.ts
@Injectable()
export class TokenInterceptor implements HttpInterceptor {
constructor(private kcService: KeycloakService) {}
intercept(request: HttpRequest<any>, next: HttpHandler) : Observable<HttpEvent<any>>{
return from(this.kcService.init())
.pipe(switchMap(authToken => {
debugger;
if(authToken){
const headers = request.headers
.set('Authorization', 'Bearer ' + authToken)
.append('Content-Type', 'application/json');
console.log(authToken);
const reqClone = request.clone({
headers
});
return next.handle(reqClone);
}
}));
}
}
ItemService.ts
@Injectable()
export class ItemService {
itensUrl = 'http://localhost:8080/itens'
constructor(private http: HttpClient, private kcService: KeycloakService) { }
list(){
return this.http.get<any[]>(this.itensUrl);
}
addiction(item: any){
return this.http.post(this.itensUrl, item);
}
}
app.modules.ts:
providers: [
ItemService,
KeycloakService,
{
provide: HTTP_INTERCEPTORS,
useClass: TokenInterceptor,
multi: true
}
ItemPatrimonyComponent.ts
export class ItemPatrimonyComponent implements OnInit {
itens = [];
constructor(private itemService: ItemService) { }
ngOnInit() {
this.listAll();
}
listAll(){
this.itemService.list().subscribe(data => this.itens = data)
console.log(this.itens);
}
add(frm:FormControl){
this.itemService.addiction(frm.value)
.subscribe(() => {
frm.reset();
this.listAll();
});
}