Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
ada:howto:sicoferp:factory:new-migracion-sicoferp:front:esquema [2024/06/27 16:52] 192.168.177.98 |
ada:howto:sicoferp:factory:new-migracion-sicoferp:front:esquema [2024/08/06 14:21] (actual) 192.168.175.41 |
||
---|---|---|---|
Línea 27: | Línea 27: | ||
| | ||
| | ||
- | Para el consumo estándar de un servicio se establecen 5 parametros de los cuales obligatorio se debe pasar baseUrl que se encuentra en los enviroment, endpoint que en este caso se define en el ejemplo dentro del objeto configTercero y opcionalmente pasamos params, headers y body. Los servicios creados en srping requiere en algunos casos body y generalmente requieren los headers, como el ejemplo presentado en el artículo, mientras que los params se utiliza en la mayor parte de los caso para servicios del tipo get. | + | Para el consumo estándar de un servicio se establecen 5 parametros de los cuales obligatorio se debe pasar baseUrl que se encuentra en los enviroment, endpoint que en este caso se define en el ejemplo dentro del objeto configTercero y opcionalmente pasamos params, headers y body. Los servicios creados en srping requiere en algunos casos body y generalmente requieren los headers, como el ejemplo presentado en el artículo, mientras que los params se utiliza en la mayor parte de los caso para servicios del tipo get. |
| | ||
configTercero = { | configTercero = { | ||
Línea 38: | Línea 38: | ||
body: this.body, | body: this.body, | ||
}; | }; | ||
+ | | ||
| | ||
| | ||
Línea 59: | Línea 60: | ||
| | ||
| | ||
- | | + | La clase ApiService que se encuentra en la ruta shared/components/services, contiene los metodos del CRUD, para el consumo con el back, de ser necesario agregar nuevos metodos para implementaciones especificas se puede editar dicha clase. |
+ | |||
+ | |||
+ | <code> | ||
+ | import { Injectable } from '@angular/core'; | ||
+ | import { HttpClient, HttpHeaders } from '@angular/common/http'; | ||
+ | import { Observable, map } from 'rxjs'; | ||
+ | |||
+ | @Injectable({ | ||
+ | providedIn: 'root' | ||
+ | }) | ||
+ | export class ApiService { | ||
+ | constructor(private http: HttpClient) { } | ||
+ | |||
+ | get<T>(endpoint: string, baseUrl: string, params?: any, headers?: HttpHeaders): Observable<T> { | ||
+ | const url = `${baseUrl}/${endpoint}`; | ||
+ | return this.http.get<T>(url, { params, headers }); | ||
+ | } | ||
+ | |||
+ | post<T>(endpoint: string, baseUrl: string, body: any, params?: any, headers?: HttpHeaders): Observable<T> { | ||
+ | const url = `${baseUrl}/${endpoint}`; | ||
+ | return this.http.post<T>(url, body, { params, headers, responseType: 'json' }) as Observable<T>; | ||
+ | } | ||
+ | |||
+ | postText<T>(endpoint: string, baseUrl: string, body: any, params?: any, headers?: HttpHeaders): Observable<string> { | ||
+ | const url = `${baseUrl}/${endpoint}`; | ||
+ | return this.http.post(url, body, { params, headers, responseType: 'text' }) as Observable<string>; | ||
+ | } | ||
+ | |||
+ | put<T>(endpoint: string, baseUrl: string, body: any, headers?: HttpHeaders): Observable<T> { | ||
+ | const url = `${baseUrl}/${endpoint}`; | ||
+ | return this.http.put<T>(url, body, { headers }); | ||
+ | } | ||
+ | |||
+ | delete<T>(endpoint: string, baseUrl: string, headers?: HttpHeaders): Observable<T> { | ||
+ | const url = `${baseUrl}/${endpoint}`; | ||
+ | return this.http.delete<T>(url, { headers }); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </code> | ||
+ | [[ada:howto:sicoferp:factory:new-migracion-sicoferp:front|←Regresar]] | ||
| | ||
| |