Akka-http belgelerine göz atıyorum ve HttpResponses kullanarak düşük düzey sunucu api ile html içeriğinin nasıl sunulacağını burada bulabilirsiniz. Ancak, tarayıcıda doğru bir şekilde gösterilmesi gereken html içeriğinin nasıl sunulacağına dair iyi bir örnek bulamıyorum. Bulduğum ve çalışabileceğim tek şey, aşağıda dize içeriğine hizmet vermesi. Bunun bir örneği bulundu:akka-http ile bir tarayıcıya doğru içerik olarak doğru bir html dosyasını nasıl sunabilirsiniz?
import akka.http.scaladsl.Http
import akka.stream.ActorMaterializer
import akka.http.scaladsl.server.Directives._
import akka.actor.ActorSystem
object HttpAkka extends App{
implicit val system = ActorSystem()
implicit val materializer = ActorMaterializer()
implicit val ec = system.dispatcher
val route = get {
pathEndOrSingleSlash {
complete("<h1>Hello</h1>")
}
}
Http().bindAndHandle(route, "localhost", 8080)
}
burada ilgili bir soru Akka-http: Accept and Content-type handling
bulundu
imports akka.http.scaladsl.marshallers.xml.ScalaXmlSupport._
ama bu scaladsl marshallers içeren göremiyorum (Bu sıralanırken içerir) Tam anlamadım Bu bağlantıya cevap verin, ancak aşağıdakileri denedim (sonunda bunu işe aldım ..):
complete {
HttpResponse(entity=HttpEntity(ContentTypes.`text/html(UTF-8)`, "<h1>Say Hello</h1>"))
}
yanı sıra: muhtemelen bu işlemek için
complete {
respondWithHeader (RawHeader("Content-Type", "text/html(UFT-8"))
"<h1> Say hello</h1>"
}
her ikisi de şu anda olduğu gibi çalışmıyor. Mustafas öneri için bir xml kütüphanesi eklenmelidir ve kostya'nın önerisi için bir değer hatası almıyorum (ContentTypes.'text/html (UTF8) kullanıyorum) türünde bir uyumsuzluk alıyorum – stian