Overview
Courses Benefits
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
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
JAX-RS
- 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
Security
- Authentication vs Authorization
- HTTP Basic Authentication
- Spring URL Level Security
- Spring Method-Level Security
- JAX-RS Client with Basic Authentication
- Enabling HTTPS