Я хочу создать в своем приложении супер универсальный c API Resolver. Я хочу, чтобы все запросы "GET", возможно, распространялись на другие глаголы в будущем, чтобы использовать этот преобразователь. Я хочу иметь возможность передать URL-адрес и глагол запроса в распознаватель, а затем обработать вызов функции оттуда.
Этот преобразователь будет использоваться в любом определении маршрута Angular с параметром, называемым «id», и я хочу иметь возможность указать тип возвращаемого значения для этого преобразователя.
Это концептуально то, что я хочу сделать, но, очевидно, это не работает из-за реализации интерфейса через Angular.
export class ApiResolve<T> implements Resolve<T> {
constructor(private _httpClient: HttpClient) { }
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, requestUrl: string, requestVerb: 'get'): Observable<T> {
return this._httpClient.request<T>(requestVerb, `${requestUrl}/${route.data['id']}`);
}
}
{ path: `user/:id`, component: UserComponent, resolve: { user: ApiResolver<User>('api.com/users', 'get') } }