In Typescript / Angular 6 (2+), è considerata una buona pratica avere un servizio http di base astratto da cui derivano tutti i servizi applicativi? ad esempio:
//import the angular Http ...etc
export abstract class MyBaseService{
...
protected get<T>(url: string): Observable<T> {
return this.http.get(...)
.pipe(map(result => result.json() as T));
}
protected post<T>....
...
}
Fondamentalmente definiamo tutti i metodi di resto (GET, POST, PUT, .. etc)
E poi ogni servizio estende quello di base:
export class MyFirstService extends MyBaseService{
...
public doWork(data: MyModel): Observable<string> {
this.post<string>('my url', data);
}
...
}