当我们使用Akka进行http服务开发时,有可能会遇到"不支持的方法"异常,该异常提示我们使用了Akka不支持的HTTP方法类型。解决方法如下:
在application.conf文件中的akka.http.server.parsing设置中添加以下语句:
akka.http.server.parsing.illegal-header-warnings = off
或者手动处理该异常:
val route: Route = path("test") {
post {
entity(as[MyEntity]) {entity =>
complete {
// 处理post请求
}
}
} ~
get {
parameters('a, 'b) {(a, b) =>
complete{
// 处理get请求
}
}
}
} ~
path("other") {
complete("Other")
}
val bindingFuture = Http().bindAndHandle(route, "localhost", 8080)
bindingFuture.failed.foreach( ex => {
ex match {
case u: UnsupportedOperationException => println(s"UnsupportedOperationException caught: ${u.getMessage}")
case _ => println("Other exception caught")
}
})