post

Matches requests with HTTP method POST.

Signature

def post: Directive0

Description

This directive filters the incoming request by its HTTP method. Only requests with method POST 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
val route = post { complete("This is a POST request.") }

// tests:
Post("/", "post content") ~> route ~> check {
  responseAs[String] shouldEqual "This is a POST request."
}
Java
import static akka.http.javadsl.server.Directives.complete;
import static akka.http.javadsl.server.Directives.post;

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

testRoute(route).run(HttpRequest.POST("/").withEntity("post content"))
    .assertEntity("This is a POST request.");
Found an error in this documentation? The source code for this page can be found here. Please feel free to edit and contribute a pull request.