0
我已經在本地主機上設置了一個AKK HTTP服務器,端口爲8091.我使用XMLHttpRequest POST從客戶端向它發送數據,但它顯示警告說我的跨源請求被阻止,因爲「Access-Control-Allow-Origin」標題不存在。所以,我添加了CORS支持。我的代碼看起來像:allowedOrigins不工作在AKK HTTP服務器
import akka.actor.ActorSystem
import akka.stream.ActorMaterializer
import akka.http.scaladsl.server.Directives._
import akka.http.scaladsl.server.Route
import akka.http.scaladsl.Http
import akka.http.scaladsl.model.headers.HttpOriginRange.*
import ch.megard.akka.http.cors.CorsDirectives._
import ch.megard.akka.http.cors.CorsSettings
import scala.concurrent.Future
object Collector{
def main(args: Array[String]): Unit = {
implicit val system = ActorSystem("collector")
implicit val materializer = ActorMaterializer()
implicit val defaultDispatcher = system.dispatcher
val settings = CorsSettings.defaultSettings.copy(allowedOrigins = *)
val routes: Route = cors(settings) {
path("event") {
post {
parameters('uuid.as[String], 'url.as[String]) { (uuid, url) =>
complete {
Future {
println("Data is received")
println("UUID is : " + uuid + " & URL is : " + url)
System.currentTimeMillis().toString
}
}
}
}
}
}
Http().bindAndHandle(routes, "localhost", 8091)
println("server started at 8091")
}
}
但仍然我的請求被阻止,我也無法看到服務器上的任何數據。如果我通過curl命令從終端發送POST請求,它正在工作。 在網絡選項卡中,它顯示404狀態。我無法理解它爲什麼會顯示這種行爲。 請指導我在這裏做什麼。提前致謝。