Im новый для scala и использую спрей для отправки запроса на сервер. Извините заранее, если этот вопрос несколько в этом. Я был бы очень признателен, если бы кто-нибудь мог сказать мне, как это сделать или что я делаю неправильно. То, что я хотел бы сделать, это:scala последовательный пост для понимания без ожидания
- Опубликовать запрос и получить обратно будущий [HttpResponse]
- Без использования ОЖИДАНИЯ (потому что я не хочу, чтобы блокировать темы), проверить код ответа
- Если у него есть код состояния> 400, то изменяйте данные и отправляйте данные и возвращайте Future [HttpResponse], не делая ничего дальше.
- Если код состояния с шага 2 хорошо возвратите будущее [HttpResponse] с шага 2.
Это то, что я до сих пор, что не появляется, чтобы дать мне ответ, если статус код был хорошим, однако выполняет свою работу на сервере. Если я повторю один и тот же запрос, я получаю результат первого появления i.e 404, тогда как я ожидаю, что первый вернет 404, а второй - для исправления данных и повторной отправки запроса и вместо этого получит ответ в будущем.
def post(headers:HttpHeader, data:HttpEntity): Future[HttpResponse] = {
...
}
def secondPost(headers:HttpHeader, data:HttpEntity): Future[HttpResponse] = {
// fix up data and repost
post(newHeaders, newData)
}
for{
first <- post(headers, data)
if first.status.intValue > 400
second < secondPost(headers, data)
} yield {
if (first.status.intvalue > 400) second else first
}
Любая помощь очень ценится. Благодарности
Приветствия
Привет Евгений. Работал как помощник шарма :) Цените это – Josh