Angular
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Chapter 33: <strong>Angular</strong> 2 In Memory Web API<br />
Section 33.1: Setting Up Multiple Test API Routes<br />
mock-data.ts<br />
export class MockData {<br />
createDb() {<br />
let mock = [<br />
{ id: '1', name: 'Object A' },<br />
{ id: '2', name: 'Object B' },<br />
{ id: '3', name: 'Object C' }<br />
];<br />
let data = [<br />
{ id: '1', name: 'Data A' },<br />
{ id: '2', name: 'Data B' },<br />
{ id: '3', name: 'Data C' }<br />
];<br />
}<br />
}<br />
return { mock, data };<br />
Now, you can interact with both app/mock and app/data to extract their corresponding data.<br />
Section 33.2: Basic Setup<br />
mock-data.ts<br />
Create the mock api data<br />
export class MockData {<br />
createDb() {<br />
let mock = [<br />
{ id: '1', name: 'Object A' },<br />
{ id: '2', name: 'Object B' },<br />
{ id: '3', name: 'Object C' },<br />
{ id: '4', name: 'Object D' }<br />
];<br />
}<br />
}<br />
return {mock};<br />
main.ts<br />
Have the dependency injector provide the InMemoryBackendService for XHRBackend requests. Also, provide a<br />
class that includes a createDb() function (in this case, MockData) specifying the mocked API routes for SEED_DATA<br />
requests.<br />
import { XHRBackend, HTTP_PROVIDERS } from '@angular/http';<br />
import { InMemoryBackendService, SEED_DATA } from 'angular2-in-memory-web-api';<br />
import { MockData } from './mock-data';<br />
import { bootstrap } from '@angular/platform-browser-dynamic';<br />
import { AppComponent } from './app.component';<br />
GoalKicker.com – <strong>Angular</strong> 2 Notes for Professionals 127