Я хочу получить доступ к пути users/{id}/permission
через маршрут Spray, используя метод POST. По какой-то причине (и я пробовал разные конфигурации) он не регистрирует маршрут, и я получаю 405 METHOD NOT ALLOWED
.
Приведенный ниже код является частью pathPrefix «users». GET работает, а POST нет.
path(Rest / "permission") { id =>
/**
* save permissions object for a user
*/
post {
entity(as[String]) { body =>
try {
val uperm = parse[UserPermission](body)
UserPermission.store(uperm)
respondWithMediaType(`application/json`) {
complete {
generate(uperm)
}
}
} catch {
case e: com.codahale.jerkson.ParsingException =>
complete {
HttpResponse(BadRequest, "Submitted malformed data.")
}
}
}
} ~
/**
* grab permissions for a single user
*/
get {
try {
val uperm = UserPermission.fetch(id)
respondWithMediaType(`application/json`) {
complete {
generate(uperm)
}
}
} catch {
case e: java.lang.NullPointerException =>
complete {
HttpResponse(NotFound, "Object not found.")
}
}
}
} ~
Я что-то упустил здесь?