17.10.2018 Views

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!