My aporte par aun caso particular:
En el caso que expone el profesor es cuando la URL es de la estructura: https://domain.com/api/
La forma en como se implementa funciona muy bien, incluso para cuando el valor que dice api es igual a otro string funciona sin problemas, como por ejemplo group, la URL sería: https://domain.com/group/
Hasta ahí todo sin problemas, pero que pasa cuando la URL contiene solo el dominio, por ejemplo:
Busqué en varias fuentes y no había nada claro, quiero mostrar como yo manejé el problemas de CORDS para una URL que solo tenga el dominio.
Primero: La URL que dejo establecida en el eviroment o dentro del mismos servicio que voy a consumir el servicio http, la dejo de la forma: /api/ (que es el end point tal como el profe dice). Entonces el servicio queda de la siguiente forma:
import { Injectable } from '@angular/core';
import { HttpClient, HttpParams } from "@angular/common/http"
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class ImagesServicesService {
constructor(private httpClient: HttpClient) { }
url = "/api/" // Hay un proxy de desarrollo para evitar problemas de CORDS
getInf(): Observable<any> {
return this.httpClient.get(this.url)
}
}
Segundo: en el proxy añado un parámetro adicional para reescribir el path de la URL. Queda de la siguiente forma:
{
"/api/": {
"target": "https://dominio.com",
"secure": true,
"logLevel": "debug",
"changeOrigin": true,
"pathRewrite": {
"^/api": "/"
}
}
}
Con esto cuando haga una petición http el proxy me modifica la URL que solicito, me pone el target y modifica el api quitandolo.
Espero que sea de ayuda.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?