การใช้งาน HTTP Module

Angular ได้เตรียมเครื่องที่จะช่วยให้เราเชื่อมต่อ API จาก Web service ไว้แล้ว

เริ่มจากเพิ่ม Http module ไปที่ app.module.ts ก่อน

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpModule } from '@angular/http'; //Added

import { AppComponent } from './app.component';
import { FriendlistComponent } from './friendlist/friendlist.component';
import { FriendlistService } from './friendlist/friendlist.service';

@NgModule({
  declarations: [
    AppComponent,
    FriendlistComponent
  ],
  imports: [
    BrowserModule,
    HttpModule //Added
  ],
  providers: [
    FriendlistService
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

สร้าง Service ใหม่ ชื่อ HTTPFriendlist

ng generate service friendlist/HTTPfriendlist

จะเกิดไฟล์ใหม่ขึ้น 2 ไฟล์

  • src/app/friendlist/httpfriendlist.service.spec.ts
  • src/app/friendlist/httpfriendlist.service.ts

เปิดไปที่ไฟล์ httpfriendlist.service.ts นำ http มาใช้งาน

import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';

@Injectable()
export class HttpfriendlistService {

  constructor(private http: Http) { }

  getAll() {
    return this.http.get('http://localhost:8882/friends');
  }

}

กลับไปที่ FriendlistComponent เปลี่ยนจาก FriendListService มาเป็น HttpfriendListService แทน

import { Component, OnInit } from '@angular/core';
import { HttpfriendlistService } from './httpfriendlist.service';

@Component({
  selector: 'friendlist',
  templateUrl: './friendlist.component.html',
  styleUrls: ['./friendlist.component.css']
})
export class FriendlistComponent implements OnInit {

  friends: string[ ];

  constructor(friendListService: HttpfriendlistService) {
    this.friends = friendListService.getAll();
   }

  ngOnInit() {
  }

}

ตรงบรรทัดที่ 15 จะ error อยู่ ให้เปลี่ยนเป็น

import { Component, OnInit } from '@angular/core';
import { HttpfriendlistService } from './httpfriendlist.service';
import { Response } from '@angular/http';

@Component({
  selector: 'friendlist',
  templateUrl: './friendlist.component.html',
  styleUrls: ['./friendlist.component.css']
})
export class FriendlistComponent implements OnInit {

  friends: string[ ];

  constructor(friendListService: HttpfriendlistService) {
    friendListService.getAll().subscribe((value: Response) => {
      this.friends
    })
   }

  ngOnInit() {
  }

}

ลองทดสอบดุว่าจะทำการเชื่อมต่อได้หรือไม่

results matching ""

    No results matching ""