Я новичок в AngularJS и пробую свои силы с помощью Учебника по Angular Heroes. Пока все прошло хорошо, пока я не попал в учебник по HTTP (https://angular.io/tutorial/toh-pt6)
Я попытался переупорядочить массив объявлений app.module.ts
import. Я попытался удалить-переустановить in-memory-web-api
. Я проверил коллекцию, возвращаемую InMemoryDataService
, но пока не повезло. Интересно, смогу ли я когда-нибудь пройти через это?
App.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { EmployeesComponent } from './employees/employees.component';
import { FormsModule } from '@angular/forms';
import { EmployeeDetailComponent } from './employee-detail/employee-
detail.component';
import { MessagesComponent } from './messages/messages.component';
import { DashboardComponent } from './dashboard/dashboard.component'; // <--
NgModel lives here
import { HttpClientModule } from '@angular/common/http';
import { HttpClientInMemoryWebApiModule } from 'angular-in-memory-web-api';
import { InMemoryDataService } from './in-memory-data.service';
@NgModule({
declarations: [
AppComponent,
EmployeesComponent,
EmployeeDetailComponent,
MessagesComponent,
DashboardComponent
],
imports: [
BrowserModule,
FormsModule,
HttpClientModule,
HttpClientInMemoryWebApiModule.forRoot(
InMemoryDataService, { dataEncapsulation: false }),
AppRoutingModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
employee.service.ts
getEmployee(ecode: number): Observable<Employee> {
const url = `${this.employeesUrl}/${ecode}`;
return this.http.get<Employee>(url).pipe(
tap(_ => this.log('fetched employee ecode=${ecode}')),
catchError(this.handleError<Employee>(`getEmployee ecode=${ecode}`))
);
}
/** PUT: update the employee on the server */
updateEmployee(employee: Employee): Observable<any> {
return this.http.put(this.employeesUrl, employee, httpOptions)
.pipe(
tap(_ => this.log(`updated employee ecode=${employee.ecode}`)),
catchError(this.handleError<any>('updateEmployee'))
);
}
}
Я ожидаю, что getEmployees()
метод будет работать. Однако я получаю следующую ошибку:
body: {error: "'employees' with id='13' not found"}
headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, lazyInit: ƒ}
status: 404
statusText: "Not Found"
url: "api/employees/13"
(из консоли инструментов разработчика)