Courses Benefits

REST is the most popular web service standard that allows data exchange between applications. This course allows you to create RESTful web services that can be consumed by different types of applications, including web clients and mobile applications. The course also teaches you how to create Java applications that make use of REST services.

You Will Learn How To

  • Design a RESTful API
  • Create RESTful Web Services using the JAX-RS API
  • Create Java and JavaScript clients that consume RESTful Web Services
  • Handle errors properly
  • Secure RESTful services using Spring security

Who Should Attend

This course is for organizations and individuals who are looking for ways to create RESTful web services and clients using Java. You are expected to be fully familiar with the Java programming language.

Course Outline

Introduction to Web Services

  • What are Web Services?
  • Benefits of Web Services
  • SOAP vs REST
  • Java Web Service Standards
  • What is SOA?
  • Benefits of SOA
  • Other Implementations of SOA

Creating Your First Project

  • Setting up the Development Environment
    • Software Requirements
    • Configuring STS
    • dding the Postman Extension
    • Finding Documentation
  • Creating a Jersey Project
  • Exploring the Project Contents
    • The Maven Project Directory Structure
    • Looking at web.xml
    • The Default Resource
  • Running the Project

REST Concepts

  • HTTP Request and Response
    • HTTP Methods
    • Anatomy of an HTTP Request
    • Anatomy of an HTTP Response
  • REST
    • Overview
    • Content Negotiation
    • JSON
    • Why Use REST?
  • Performing CRUD Operations through REST
    • Creating Resources Using POST
    • Retrieving Resources Using GET
    • Updating Resources Using PUT
    • Deleting Resources Using DELETE
  • Designing REST Services


  • The Case Study: eBank
  • Using GET
    • Returning a Collection
    • Returning a Single Object
    • Creating a JAX-RS GET Client
    • Creating a JavaScript GET Client
  • Using POST
    • Creating a Resource
    • Creating a JAX-RS POST Client
    • Creating a JavaScript POST Client
  • Using PUT
    • Updating a Resource
    • Creating a JAX-RS PUT Client
    • Creating a JavaScript PUT Client
  • Using DELETE
    • Deleting a Resource
    • Creating a JAX-RS DELETE Client
    • Creating a JavaScript DELETE Client

JAX-RS Injection

  • Path Parameters
  • Matrix Parameters
  • Query Parameters
  • Form Parameters
  • Headers
  • Cookies

Custom Marshalling

  • Built-in Content Marshalling
  • JSON
  • JSON Binding Providers
  • GSON

Error Handing

  • Returning Status Codes
  • Throwing WebApplicationException
  • Creating Exception Mappers
  • Handing Errors in the Client


  • Authentication vs Authorization
  • HTTP Basic Authentication
  • Spring URL Level Security
  • Spring Method-Level Security
  • JAX-RS Client with Basic Authentication
  • Enabling HTTPS