10
我有一个路线如下:阿卡-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上找到它们的代码库,因此从单元测试中学习也不成问题。
我同意你关于文档的状态。我会说虽然作为一个社区项目,个人可以自由地主动帮助改善他们。 – acjay
@acjay个人只有在掌握好代码之后才能做出贡献,这些代码受到现有的穷人文档的严重阻碍。是的,人们总是可以查看源代码,但同样,这不适合初学者,耗时且对大多数问题不应该是必需的。如果他们一直希望人们查看源代码,他们不应该假装有任何文档。 –