Мне нужно подключиться к 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?