akka-http: Wie man Antwort-Header setzt

Ich habe eine Route wie folgt:

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 sollte immer @ seiapplication/json wie ich es eingestellt habe für dasget Anfrage. Was ich jedoch in meinen Tests bekomme, isttext/plain. Wie stelle ich den Inhaltstyp in der Antwort richtig ein?

Eine Randnotiz ist, dass die Dokumentation zu akka-http einer der wertlosesten Abfälle ist, die ich je gesehen habe. Fast jeder Link zum Beispielcode ist kaputt und ihre Erklärungen geben nur das Offensichtliche an. Javadoc hat kein Codebeispiel und ich konnte ihre Codebasis auf Github nicht finden, sodass es auch nicht in Frage kommt, von ihren Unit-Tests zu lernen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage