Как использовать / внедрить WSClient в akka actor в Playframework-2.5.x? - PullRequest
0 голосов
/ 10 апреля 2019

Мне нужно подключиться к API на основе dialy.
Для этого у меня
1. создан актер, планировщик
2. связать актера и планировщик в модуле
3. Включен этот модуль вфайл application.conf

Планирование работает нормально, но теперь я хочу внедрить WSClient в актера, отправить запрос с помощью ws, записать ответ в базу данных.
У меня проблема при введении WSClient вActor.I имеет ссылку: - Ссылка

Я сделал следующее: -

package controllers;

import akka.actor.UntypedActor;
import play.Logger;
import javax.inject.Inject;

import play.mvc.*;
import play.libs.ws.*;
import java.util.concurrent.CompletionStage;

public class CronActor extends UntypedActor{

    @Override
    public void onReceive(final Object message) throws Throwable {
        Logger.info("Write your crone task or simply call your method here that perform your task"+message);

        @Inject WSClient ws;

        WSRequest request = ws.url("https://api.exchangeratesapi.io/latest?base=USD&symbols=SGD,INR");

        WSRequest complexRequest = request.setHeader("Accept", "Application/json");
        CompletionStage<WSResponse> responsePromise = complexRequest.get();
        //WSRequest complexRequest = request.setQueryParameter("base", "paramValue");
        Logger.info("response is"+responsePromise)

    }

}

Я получаю следующую ошибку: -

 error: annotation type not applicable to this kind of declaration
[error]         @Inject WSClient ws;
[error]         ^
[error] (compile:compileIncremental) javac returned nonzero exit code

Итак, как я могу добавить WSClient в Actor, в Playframework-2.5.x?

...