This directive filters the incoming request by its HTTP method. Only requests with method PUT are passed on to the inner route. All others are rejected with a MethodRejectionMethodRejection, which is translated into a 405 Method Not Allowed response by the default RejectionHandler.
sourceval route = put { complete("This is a PUT request.")}// tests:Put("/","put content")~> route ~> check {
responseAs[String] shouldEqual "This is a PUT request."}
sourceimport static akka.http.javadsl.server.Directives.complete;importstatic akka.http.javadsl.server.Directives.put;finalRoute route = put(()-> complete("This is a PUT request."));
testRoute(route).run(HttpRequest.PUT("/").withEntity("put content")).assertEntity("This is a PUT request.");