Cara Menambah Pengepala Keizinan pada Permintaan HTTP Sudut
Apabila cuba menyambungkan aplikasi Sudut kepada API Go, adalah penting untuk memasukkan kebenaran pengepala dalam permintaan HTTP. Ini menjamin komunikasi antara pelanggan dan pelayan. Berikut menunjukkan cara untuk mencapainya:
Pelaksanaan Sudut:
Dalam Sudut 4 dan ke atas, disyorkan untuk menggunakan Pemintas HTTP untuk menggunakan pengepala kebenaran secara konsisten pada permintaan. Berikut ialah contoh pemintas:
import { Injectable } from '@angular/core'; import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; import { Observable } from 'rxjs'; import { AuthService } from './auth.service'; @Injectable() export class AuthInterceptor implements HttpInterceptor { intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { req = req.clone({ setHeaders: { Authorization: `Bearer ${AuthService.getToken()}`, }, }); return next.handle(req); } }
Pemintas ini boleh didaftarkan dalam modul Sudut:
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; ... providers: [ { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true, }, ], ...
Perlaksanaan Go:
Dalam Go, pengepala CORS perlu sepadan dengan yang dihantar oleh aplikasi Angular. Untuk membenarkan semua pengepala, gunakan yang berikut:
headersOk := handlers.AllowedHeaders([]string{"*"}) originsOk := handlers.AllowedOrigins([]string{"*"}) methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
Sebagai alternatif, tentukan dengan teliti pengepala yang dibenarkan.
Setelah langkah ini diambil, pengepala kebenaran harus berjaya dihantar dan diterima, membolehkan komunikasi antara Angular dan Go.
Atas ialah kandungan terperinci Bagaimana untuk Selamatkan Komunikasi API Angular-Go: Menambah Pengepala Kebenaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!