у меня есть следующий akka http код обработки отклонения, взятый из https://doc.akka.io/docs/akka-http/current/routing-dsl/rejections.html
val message = "The requested resource could not be found."
implicit def myRejectionHandler = RejectionHandler.newBuilder()
.handleNotFound {
complete(HttpResponse(NotFound
,entity = HttpEntity(ContentTypes.`application/json`, s"""{"rejection": "$message"}"""
)))
}.result()
val route: Route = handleRejections(myRejectionHandler) {
handleExceptions(myExceptionHandler) {
concat(
path("event-by-id") {
get {
parameters('id.as[String]) {
id =>
complete("id")
}
}
}
,
post {
path("create-event") {
entity(as[Event]) {
event =>
complete(OK, "inserted")
}
}
}
)
}
}
}
val bindingFuture = Http().bindAndHandle(route, hostName, port)
когда я нажимаю localhost:8080/random
я получил сообщение
HTTP method not allowed, supported methods: POST
и когда я выбираю POST
и нажимаю localhost:8080/random
, я получаю сообщение
{
"rejection": "The requested resource could not be found."
}
почему я не получаю то же сообщение, когда мой запрос маршрута был GET
? в документах handleNotFound работал с GET-запросом https://doc.akka.io/docs/akka-http/current/routing-dsl/rejections.html