akka-http: Как установить заголовки ответа
У меня есть маршрут следующим образом:
val route = {
logRequestResult("user-service") {
pathPrefix("user") {
get {
respondWithHeader(RawHeader("Content-Type", "application/json")) {
parameters("firstName".?, "lastName".?).as(Name) { name =>
findUserByName(name) match {
case Left(users) => complete(users)
case Right(error) => complete(error)
}
}
}
} ~
(put & entity(as[User])) { user =>
complete(Created -> s"Hello ${user.firstName} ${user.lastName}")
} ~
(post & entity(as[User])) { user =>
complete(s"Hello ${user.firstName} ${user.lastName}")
} ~
(delete & path(Segment)) { userId =>
complete(s"Hello $userId")
}
}
}
}
Тип содержимого моего ответа всегда должен бытьapplication/json
как я это установил дляget
запрос. Тем не менее, что я получаю в моих тестахtext/plain
, Как правильно установить тип содержимого в ответе?
С другой стороны, документация akka-http - один из самых бесполезных мусоров, которые я когда-либо видел. Почти каждая ссылка на пример кода не работает, и их объяснения просто указывают на очевидное. У Javadoc нет примера кода, и я не смог найти их кодовую базу на Github, поэтому об изучении их модульных тестов также не может быть и речи.