Play in action – Building REST Services

Play Framework - Build Modern & Scalable Web Apps with Java and Scala


                       In this article will try to build REST services. To build REST services first we need to create controller and actions. In Play, we can create a controller by extending play.mvc.Controller. The methods in the controller which will take users request are called “actions”. The action method signature is denoted as shown below.

public Result <action_name> (parameters)

Here, action returns play.mvc.Result. The play has below implementations for Result which we can return from the action method. Below are the out of the box implementations for Result.

ok --> HTTP status code is 200
notFound --> HTTP status code is 404 
badRequest --> HTTP status code is 400 
internalServerError --> HTTP status code is 500 
movedPermanently 301 --> HTTP status code is 301 
found  --> HTTP status code is 302
temporaryRedirect--> HTTP status code is 307
forbidden--> HTTP status code is 403
status --> Developer can return any HTTP status code

 Now, we will see the different implementation of actions.

get student

The routes file entry is given below.

get student routes

We can send query parameters to the action. The implementation is explained below.

get student queryparam

The routes file entry is given below.

get student query param routes

Now, we will see how POST action is implemented.

save student

Now, let us see the routes file entry to handle above request.

save student routes

The source code created to explain the above example is available on GitHub. In the coming article, we will see how to integrate Play with MySQL. Till then “Stay Hungry To Learn“.

Play REST Services

Siva Janapati is an Architect with experience in building Cloud Native Microservices architectures, Reactive Systems, Large scale distributed systems, and Serverless Systems. Siva has hands-on in architecture, design, and implementation of scalable systems using Cloud, Java, Go lang, Apache Kafka, Apache Solr, Spring, Spring Boot, Lightbend reactive tech stack, APIGEE edge & on-premise and other open-source, proprietary technologies. Expertise working with and building RESTful, GraphQL APIs. He has successfully delivered multiple applications in retail, telco, and financial services domains. He manages the GitHub( where he put the source code of his work related to his blog posts.

Tagged with:
Posted in Frameworks, Play

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.


Java Code Geeks
Java Code Geeks
%d bloggers like this: