put

Matches requests with HTTP method PUT.

Signature

def put: Directive0 

Description

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.

Example

Scala
sourceval route = put { complete("This is a PUT request.") }

// tests:
Put("/", "put content") ~> route ~> check {
  responseAs[String] shouldEqual "This is a PUT request."
}
Java
sourceimport static org.apache.pekko.http.javadsl.server.Directives.complete;
import static org.apache.pekko.http.javadsl.server.Directives.put;

final Route route = put(() -> complete("This is a PUT request."));

testRoute(route)
    .run(HttpRequest.PUT("/").withEntity("put content"))
    .assertEntity("This is a PUT request.");