2017-04-04 6 views
1

Guiceによってクラスがインスタンス化されている間にリクエストヘッダ値を取得してコンストラクタに注入する必要があります。 Guiceモジュールがhttp.contextにアクセスできないようです!これを行う正しい方法は何ですか?Guiceモジュールのhttpリクエストヘッダ値を取得する

ここで使用できるHTTPコンテキストがありません。 私は上記を行うとき!?

答えて

1

私はあなたがそれを行うことはできないと思います。 Guiceにはセッションのコンテキストがありますが、遊びにセッションはありません。 [this] [1。したがって、メソッドが実行されるときには、特定のコンテキストは使用できません。 あなたができることは、ステートレスシングルトンを構築し、メソッドがリクエストコンテキストを受け入れるようにすることです。次のようなもの:

@Provides 
protected class CustomerProvider @Inject()(dataClient: DataClient) 
    extends Provider[CustomerRepository] { 
    override def get(): CustomerRepository = { 
     new CustomerRepository() 
    } 
} 
class CustomerRepository @Inject()(collaborator: CCC) { 
    def doSomething(param1, param2)(implicit request: RequestHeader) 
} 
関連する問題