Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menyelesaikan Masalah Pengepala HTTP Sudut dan Isu CORS Go?

Bagaimana untuk Menyelesaikan Masalah Pengepala HTTP Sudut dan Isu CORS Go?

Barbara Streisand
Lepaskan: 2024-12-27 02:08:10
asal
820 orang telah melayarinya

How to Troubleshoot Angular HTTP Headers and Go CORS Issues?

Menyelesaikan Masalah Pengepala HTTP Sudut dan Go CORS

CORS (Perkongsian Sumber Silang Asal) sering menjadi punca sakit kepala apabila menyambungkan apl Sudut kepada API Go. Memahami cara menambah pengepala Keizinan dalam Sudut dan mengendalikan CORS dalam Go adalah penting untuk komunikasi yang berjaya antara kedua-duanya.

Pengepala Keizinan Sudut

Untuk menambah pengepala Kebenaran dalam Sudut, anda harus menggunakan Pemintas Http. Contoh Pemindas Auth ialah:

@Injectable()
export class AuthInterceptor implements HttpInterceptor {
  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    req = req.clone({
      setHeaders: {
        'Content-Type': 'application/json; charset=utf-8',
        'Accept': 'application/json',
        'Authorization': `Bearer ${AuthService.getToken()}`,
      },
    });
    return next.handle(req);
  }
}
Salin selepas log masuk

Daftarkan pemintas dalam modul apl anda:

providers: [
  {
    provide : HTTP_INTERCEPTORS,
    useClass: AuthInterceptor,
    multi   : true,
  },
],
Salin selepas log masuk

Go CORS Handling

Pastikan kod Go anda membenarkan pengepala permintaan yang diperlukan daripada apl Angular:

headersOk := handlers.AllowedHeaders([]string{"*"})
originsOk := handlers.AllowedOrigins([]string{"*"})
methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
Salin selepas log masuk

Jika isu berterusan, konfigurasikan dengan teliti tetapan CORS anda agar sepadan dengan pengepala permintaan pelanggan.

Contoh Isu Selesai

Kod Sudut berikut:

this.http.get<ProjectedBalance>(requestUrl, {headers: new HttpHeaders().set('Authorization', 'my-auth-token')})
Salin selepas log masuk

Digabungkan dengan kod Go berikut:

headersOk := handlers.AllowedHeaders([]string{"Authorization"})
originsOk := handlers.AllowedOrigins([]string{"*"})
methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
Salin selepas log masuk

Sepatutnya berjaya mewujudkan komunikasi antara apl Angular dan Go API.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Masalah Pengepala HTTP Sudut dan Isu CORS Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan