2016-12-02 5 views
1

私は、RESTエドポイントにアクセスするためにライブラリを開発しています。Angular2:注射用のパラメータを初期化する

私は注射用クラスのforeach RESTエンドポイント(あなたが hereで見ることができます今、私はこの召しにはOAuthダンスを追加する必要がある、と私は OAuthServiceクラスを作成するために思っている生成した

:。

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

import { OAuthSettings } from './OAuthSettings'; 

@Injectable() 
export class OAuthService 
{ 
    constructor(private http: Http, private settings: OAuthSettings) { } 

    grantAuthorization() {} 

    getAccessToken() {} 

    refreshAccessToken() {} 
} 
を私は依存関係として UserApiOAuthServiceを追加する必要があることを把握することができるよ

export class OAuthSettings { 
    baseAuthzURI: string; 
    baseCESTURI: string; 

    client: string; 
    user: string; 
    passwd: string; 

    authzCode: string; 
    accessToken: string; 
    refreshToken: string; 
    authCodeThreshold: Date; 
    accessTokenThreshold: Date; 
    refreshTokenThreshold: Date; 
} 

しかし、何これはどのようにOAuthSettings約:OAuthSettingsがある

、提供される、または初期化されるか?

このライブラリは、ユーザーとパスワードを提供する必要のあるアプリケーションによって使用されます。だから、これらのフィールドはOAuthSettingsにある程度与えなければなりません。

+0

そのインスタンスの設定を返すメソッドを 'OAuthService'に追加します。 – GillesC

+0

申し訳ありませんが、私はあなたが何を意味するのか理解できません。私は投稿を編集して、ユーザーとパスワードを追加しました。私のライブラリを使用しているアプリケーションがどのフォームからでもそれを読むまで、私は不明です。 – Jordi

+0

@Jordi:タイトルを編集する(anular、not anDular) –

答えて

2
@NgModule({ 
    providers: [{ provide: OAuthSettings, useValue: {...}}] 
+0

Thanks @Günter。どうぞ、あなたは、これらの要点を取って少し答えを広げることができますか:[LoginModule.ts](https://gist.github.com/jeusdi/67676b50692ee9f2ed2e92acadd86826)、[LoginComponent.ts](https://gist.github.com)/jeusdi/f9a518865732b8e7699896e089d567ff)と[LoginTemplate](https://gist.github.com/jeusdi/9a45d0bf393bab677537795cee2edf16)?私は本当にangular2の初心者で、本当に少し助けになりました。 – Jordi

+0

申し訳ありませんが、私はこれらの要点がどのように関連しているかは分かりません。 DIを他のサービス、コンポーネントに注入できるプロバイダを登録する必要があります... –

+0

ルートモジュールまたはログインモジュールのどこでこの注釈を追加する必要がありますか? – Jordi

関連する問題