ich eine Route haben wie folgt festzulegen:akka-http: Wie Response-Header
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")
}
}
}
}
Der Inhaltstyp meiner Antwort immer application/json
sein sollte, wie ich habe es für die get
Anfrage gesetzt. Was ich jedoch in meinen Tests bekomme, ist text/plain
. Wie lege ich den Inhaltstyp korrekt in der Antwort fest?
Nebenbei bemerkt, die akka-http Dokumentation ist eines der wertlosesten Stück Müll, die ich je gesehen habe. Fast jeder Link zum Beispiel-Code ist gebrochen und ihre Erklärungen geben nur das Offensichtliche an. Javadoc hat kein Codebeispiel und ich konnte ihre Codebasis nicht auf Github finden, so dass es nicht möglich ist, von ihren Unit-Tests zu lernen.
Ich stimme mit Ihnen auf den Stand der Dokumente. Ich werde jedoch sagen, dass Einzelpersonen als Gemeinschaftsprojekt die Initiative ergreifen können, um sie zu verbessern. – acjay
@acjay Von Einzelpersonen kann nur erwartet werden, dass sie einen Beitrag leisten, sobald sie den Code gut verstanden haben, der durch die vorhandene, schlechte Dokumentation stark behindert wird. Ja, man kann immer in den Quellcode schauen, aber auch das ist nicht für Anfänger, zeitraubend und sollte für die meisten Probleme nicht notwendig sein. Wenn sie immer wollten, dass Leute in den Quellcode schauen, sollten sie nicht vorgeben, irgendeine Dokumentation zu haben. –