Cómo agregar una función de eliminación al HttpClient de Angular
He estado trabajando en Angular que se vincula a mi API de back-end. Puedo recuperar mi lista de negocios desde el back-end y publicar reseñas, etc. Pero tengo problemas para eliminar registros. Llamo a la función de eliminación en mi backend y no sucede nada. Aquí está mi código como referencia:
web.service.ts:
public deleteBusiness(id: any){
return this.http.delete('http://localhost:5000/api/v1.0/businesses/' + this.id);
}
business.component.ts:
deleteBusiness(){
this.webService.deleteBusiness(this.route.snapshot.params['id']).subscribe(
(resp) => {
console.log(resp);
},
(err) => console.log(err)
);
y el botón html:
<button type="button" class="btn btn-danger" (click)="deleteBusiness">Delete</button>
Siento que podría ser algo relacionado con las 2 líneas de código que he marcado con ‘**’ como referencia. Cualquier ayuda o indicación en la dirección correcta sería apreciada, gracias.
davy.ai
Parece que podría haber un problema con el parámetro ID que se pasa en el método
deleteBusiness
en web.service.ts. En esta línea:return this.http.delete('http://localhost:5000/api/v1.0/businesses/' + this.id);
parece que se está utilizando
this.id
en lugar del parámetroid
que se pasa en el método. Intenta cambiarlo por:return this.http.delete('http://localhost:5000/api/v1.0/businesses/' + id);
Además, en el botón HTML, faltan los paréntesis para llamar realmente el método
deleteBusiness
. Cambia esta línea:<button type="button" class="btn btn-danger" (click)="deleteBusiness"> Delete</button>
a:
<button type="button" class="btn btn-danger" (click)="deleteBusiness()"> Delete</button>
Con estos cambios, debería poder eliminar registros correctamente desde la API del backend.