2017-01-12 2 views
0

У меня есть следующий код:Как отправить код ответа в ответ в Akka Http?

val route:Route={ 
    path("hello"){ 
     get{ 
     complete{ 
      "done" 
     } 
     } 
    } 
    } 

    Http().bindAndHandle(route, "localhost", 8187) 

Здесь полный отвечает обратно строку «Done». Тем не менее, я хочу, чтобы он возвращал код состояния 200. Как я могу это сделать?

+1

Это фактически возвращает HTTP-кода 200 – EmiCareOfCell44

ответ

7

Как поясняется в комментариях, код ответа по умолчанию - 200, поэтому вы получаете именно то, что хотели. В общем, the documentation на complete демонстрирует, как написать complete с любым кодом состояния:

complete(StatusCodes.OK) 

complete(StatusCodes.Create -> "message") 

complete(201 -> "another message") 
3

Вы можете использовать HttpResponse класса

import akka.http.scaladsl.model._ 

complete{ 
    HttpResponse(StatusCodes.OK, entity = "Result ok") 
    //HttpResponse(StatusCodes.InternalServerError, entity = "Error") 
    } 
Смежные вопросы