Solicitud HTTP GET angular 2 de la API de Github

Soy nuevo en Angular 2. Por el momento, estoy tratando de get datos de usuario de la API de Github. Tengo un componente ( user.component ) y aquí está su código:

 import {Component} from '@angular/core'; import {userService} from './user.service'; import'rxjs/add/operator/map'; @Component({ selector: 'users', template: ` <h2>Users</h2> `, providers: [userService] }) export class UserComponent{ constructor(private _userService: userService) { this._userService.getUser().subscribe( user => {console.log(user)}) } } 

El código de user.Service.ts :

 import {Injectable} from '@angular/core' import {Http, Headers} from '@angular/http' import'rxjs/add/operator/map'; @Injectable() export class userService{ private username : string; constructor (private _http:Http){ console.log("Github Service is ready...") this.username = "example" } getUser(){ return this._http.get("http://api.github.com/users/"+example) .map(res => res.json) } } 

Y esto es app.module.ts :

 import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { UserComponent } from './user.component' import {HttpModule } from '@angular/http'; import { AppComponent } from './app.component'; @NgModule({ imports: [ BrowserModule, HttpModule ], declarations: [ AppComponent,UserComponent ], bootstrap: [ AppComponent ] }) export class AppModule { } 

Y finalmente aquí está app.component.ts :

 import { Component } from '@angular/core'; import { UserService } from './user.service' @Component({ selector: 'my-app', template: `<h1>Hello {{name}}</h1><users></users>`, providers: [CourseService] }) export class AppComponent { name = 'John'; } 

Debe agregar providers: [CourseService] al module, no el componente de la aplicación.

 @NgModule({ imports: [ BrowserModule, HttpModule ], declarations: [ AppComponent,UserComponent ], bootstrap: [ AppComponent ], providers: [ CourseService ] }) 

y eliminarlo del decorador @Component .

Editar: Me alegro de que hayas trabajado, pero el comentarista está en lo cierto: esta no fue la solución correcta, estaba equivocado.

example no es una variable local dentro de getUser()

Creo que quisiste escribir es:

 getUser(){ return this._http.get("http://api.github.com/users/" + this.username) .map(res => res.json) }