Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

141
Vistas
La API web no se llama desde angular

Estoy tratando de llamar a la API personalizada en angular, pero por alguna razón no la llama. Antes de esto hice 10 funciones en angular (en _api.service.ts) que llaman a la API web de la misma manera y son correctas, se llama a mi API web y se devuelven los datos, todo está bien. Luego hice un método más en la API web y un componente más en angular (se llama a la función getList()), y no funcionó, nunca se llama a la API.

 getList(id: string, chosen: string): Observable<StopListModel[]> { let myUrl: string = API_URL + '/stop/list'; myUrl += '/' + id; myUrl += '/' + chosen; //debugger goes to this line, url is correct but API not called return this.http.get<StopListModel[]>(myUrl, this.httpUtils.getHTTPHeader()); }

Cuando estaba depurando, vi que la URL para la API se envía correctamente desde angular, como en otras 10 funciones que llaman con éxito a la API en mi proyecto, por lo que creo que no necesito enviarle código desde mi API web. Estaba confundido, así que moví la línea que llama a getList() del componente nuevo al componente existente, donde ya sé que mi _api.service llamará con éxito a la API web porque en ese componente hay una función (por ejemplo, getUsers() ) que llama correctamente a la API. Y no funcionó, no se llama a la API para getList().

Supuse que había algún problema con la API web para getList(), pero solo para estar seguro en ese segundo componente, llamé a otra función _api.service (que funciona cuando se llama desde otro componente) y, sorprendentemente, no se llamó a la API para esa función. o.

Luego vi cuál creo que es el problema: cuando trato de llamar a cualquier función en cualquiera de mis componentes, todas estas funciones "nuevas" nunca llaman a la API, solo las antiguas que ya han estado allí, a pesar de que funcionan correctamente en su propios componentes.

 export class DetaljiStopoviComponent{ stops$: Observable<StopStatisticsModel[]>; list$: Observable<StopListModel[]> constructor( private apiService: APIService, route: ActivatedRoute ) { var id = route.snapshot.params['id']; this.stops$ = this.apiService.getStopStatistics(id); //this works, it was there before - but any other calling I add under this, API is not called (this is the case for every component, every function) this.list$ = this.apiService.getList(id, '3'); //this is the newest one, I can't make it call API even in the empty components } }

Estoy tan confundido y no tengo experiencia en angular, tengo mucha curiosidad por saber cuál es el problema. No creo que algo esté mal con la API web, pero no estoy seguro. ¿Alguien tiene alguna sugerencia?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Creo que es un problema de sintaxis, para obtener el método intente esto

 return this.http.get<StopListModel[]>(myUrl, {headers:this.httpUtils.getHTTPHeader()});
about 4 years ago · Juan Pablo Isaza Denunciar

0

Parece que te olvidaste de suscribirte a:

 this.stops$ = this.apiService.getStopStatistics(id); this.list$ = this.apiService.getList(id, '3');

Creo que this.stops$ funciona para usted porque en algún lugar de la plantilla tiene una tubería asíncrona (stops$ | async).

Así que intenta hacer:

 this.list$.subscribe(response => console.log(response));

después de esa solicitud debe enviarse

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda