Я не уверен, как построены ваши службы, но если у вас есть абстрактная «базовая» служба http, вы можете проверить наличие флага и изменить функцию, выполняющую запрос GET
, для получения локальных данных JSON.
что-то вроде:
export class baseHttpService {
let isMock: boolean = true;
get(url: string, params: object = {}): Observable<any> {
if(!isMock) {
return /* normal get function */
} else {
return this.http.get("your local json file");
}
}
}
И в вашей Службе вы вызываете функцию get этой "базовой" службы http:
export class UserService {
getUser() Observable<any>{
this.baseHttp.get(/* Api endpoint to get user */).subscribe(...);
}
}
Таким образом, вы толькоМне нужно переключить один логический тип для проверки всего вашего сервиса.
PS Мне очень нравится идея "прокси" вашего приложения на фиктивном сервере, я чувствую, что это может быть не так простоно это лучший способ решить проблему, если вы хотите изменить свои данные из вашего JSON.