RESTful Java Web Services - Third Edition

Master core REST concepts and create RESTful web services in Java
Preview in Mapt

RESTful Java Web Services - Third Edition

Bogunuva Mohanram Balachandar

1 customer reviews
Master core REST concepts and create RESTful web services in Java
Mapt Subscription
FREE
$29.99/m after trial
eBook
$25.20
RRP $35.99
Save 29%
Print + eBook
$44.99
RRP $44.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$25.20
$44.99
$29.99 p/m after trial
RRP $35.99
RRP $44.99
Subscription
eBook
Print + eBook
Start 14 Day Trial

Frequently bought together


RESTful Java Web Services - Third Edition Book Cover
RESTful Java Web Services - Third Edition
$ 35.99
$ 25.20
Architecting Modern Java EE Applications Book Cover
Architecting Modern Java EE Applications
$ 39.99
$ 28.00
Buy 2 for $35.00
Save $40.98
Add to Cart

Book Details

ISBN 139781788294041
Paperback420 pages

Book Description

Representational State Transfer (REST) is a simple yet powerful software architecture style to create lightweight and scalable web services. The RESTful web services use HTTP as the transport protocol and can use any message formats, including XML, JSON(widely used), CSV, and many more, which makes it easily inter-operable across different languages and platforms.

This successful book is currently in its 3rd edition and has been used by thousands of developers. It serves as an excellent guide for developing RESTful web services in Java.

This book attempts to familiarize the reader with the concepts of REST. It is a pragmatic guide for designing and developing web services using Java APIs for real-life use cases following best practices and for learning to secure REST APIs using OAuth and JWT. Finally, you will learn the role of RESTful web services for future technological advances, be it cloud, IoT or social media.

By the end of this book, you will be able to efficiently build robust, scalable, and secure RESTful web services using Java APIs.

Table of Contents

Chapter 1: Introducing the REST Architectural Style
The REST architectural style
Introducing HTTP
The evolution of RESTful web services
The core architectural elements of a RESTful system
The description and discovery of RESTful web services
Java tools and frameworks for building RESTful web services
Summary
Chapter 2: Java APIs for JSON Processing
A brief overview of JSON
Processing JSON data
Using JSR 353 – Java API for processing JSON
Using the Jackson API for processing JSON
Using the Gson API for processing JSON
Java EE 8 enhancements for processing JSON
Summary
Chapter 3: Introducing the JAX-RS API
An overview of JAX-RS
JAX-RS annotations
Returning additional metadata with responses
Understanding data binding rules in JAX-RS
Building your first RESTful web service with JAX-RS
Client APIs for accessing RESTful web services
Summary
Chapter 4: Advanced Features in the JAX-RS APIs
Understanding subresources and subresource locators in JAX-RS
JAX-RS response builder explained
Exception handling in JAX-RS
Reporting errors using application exceptions
Introducing validations in JAX-RS applications
Supporting custom request-response message formats
Asynchronous RESTful web services
Asynchronous RESTful web service client
Server-sent events
Managing an HTTP cache in a RESTful web service
Understanding filters and interceptors in JAX-RS
Understanding the JAX-RS resource life cycle
Summary
Chapter 5: Introducing JAX-RS Implementation Framework Extensions
Jersey framework extensions
Generating a chunked output using Jersey APIs
RESTEasy framework extensions
Summary
Chapter 6: Securing RESTful Web Services
Securing and authenticating web services
HTTP basic authentication
HTTP digest authentication
JWT authentication
Securing RESTful web services with OAuth
Authorizing the RESTful web service accesses via the security APIs
Input validation
Key considerations for securing RESTful services
Summary
Chapter 7: Description and Discovery of RESTful Web Services
The need for an interface contract
Web Application Description Language
RESTful API Modeling Language
Swagger
Revisiting the features offered in WADL, RAML, and Swagger
Summary
Chapter 8: RESTful API Design Guidelines
Designing RESTful web APIs
Fine-grained and coarse-grained resource APIs
Using header parameters for content negotiation
Multilingual RESTful web API resources
Representing date and time in RESTful web resources
Implementing partial response
Implementing partial update
Returning modified resources to the caller
Paging a resource collection
Implementing search and sort operations
Versioning RESTful web APIs
Caching RESTful web API results
Using HTTP status codes in RESTful web APIs
Overriding HTTP methods
Documenting RESTful web APIs
Asynchronous execution of RESTful web APIs
Microservice architecture style for RESTful web application
A quick recap
Summary
Chapter 9: The Role of RESTful APIs in Emerging Technologies
Cloud services
Internet of things
Modern web applications
Social media
Using Open Data Protocol with RESTful web APIs
Summary
Chapter 10: Useful Features and Techniques
Tools for building a JAX-RS application
Integration testing of JAX-RS resources with Arquillian
Using third-party entity provider frameworks with Jersey
Packaging and deploying JAX-RS applications
Summary

What You Will Learn

  • Introduce yourself to the RESTful software architectural style and the REST API design principles
  • Make use of the JSR 353 API, JSR 374 API, JSR 367 API and Jackson API for JSON processing
  • Build portable RESTful web APIs, making use of the JAX-RS 2.1 API
  • Simplify API development using the Jersey and RESTEasy extension APIs
  • Secure your RESTful web services with various authentication and authorization mechanisms
  • Get to grips with the various metadata solutions to describe, produce, and consume RESTful web services
  • Understand the design and coding guidelines to build well-performing RESTful APIs
  • See how the role of RESTful web services changes with emerging technologies and trends

Authors

Table of Contents

Chapter 1: Introducing the REST Architectural Style
The REST architectural style
Introducing HTTP
The evolution of RESTful web services
The core architectural elements of a RESTful system
The description and discovery of RESTful web services
Java tools and frameworks for building RESTful web services
Summary
Chapter 2: Java APIs for JSON Processing
A brief overview of JSON
Processing JSON data
Using JSR 353 – Java API for processing JSON
Using the Jackson API for processing JSON
Using the Gson API for processing JSON
Java EE 8 enhancements for processing JSON
Summary
Chapter 3: Introducing the JAX-RS API
An overview of JAX-RS
JAX-RS annotations
Returning additional metadata with responses
Understanding data binding rules in JAX-RS
Building your first RESTful web service with JAX-RS
Client APIs for accessing RESTful web services
Summary
Chapter 4: Advanced Features in the JAX-RS APIs
Understanding subresources and subresource locators in JAX-RS
JAX-RS response builder explained
Exception handling in JAX-RS
Reporting errors using application exceptions
Introducing validations in JAX-RS applications
Supporting custom request-response message formats
Asynchronous RESTful web services
Asynchronous RESTful web service client
Server-sent events
Managing an HTTP cache in a RESTful web service
Understanding filters and interceptors in JAX-RS
Understanding the JAX-RS resource life cycle
Summary
Chapter 5: Introducing JAX-RS Implementation Framework Extensions
Jersey framework extensions
Generating a chunked output using Jersey APIs
RESTEasy framework extensions
Summary
Chapter 6: Securing RESTful Web Services
Securing and authenticating web services
HTTP basic authentication
HTTP digest authentication
JWT authentication
Securing RESTful web services with OAuth
Authorizing the RESTful web service accesses via the security APIs
Input validation
Key considerations for securing RESTful services
Summary
Chapter 7: Description and Discovery of RESTful Web Services
The need for an interface contract
Web Application Description Language
RESTful API Modeling Language
Swagger
Revisiting the features offered in WADL, RAML, and Swagger
Summary
Chapter 8: RESTful API Design Guidelines
Designing RESTful web APIs
Fine-grained and coarse-grained resource APIs
Using header parameters for content negotiation
Multilingual RESTful web API resources
Representing date and time in RESTful web resources
Implementing partial response
Implementing partial update
Returning modified resources to the caller
Paging a resource collection
Implementing search and sort operations
Versioning RESTful web APIs
Caching RESTful web API results
Using HTTP status codes in RESTful web APIs
Overriding HTTP methods
Documenting RESTful web APIs
Asynchronous execution of RESTful web APIs
Microservice architecture style for RESTful web application
A quick recap
Summary
Chapter 9: The Role of RESTful APIs in Emerging Technologies
Cloud services
Internet of things
Modern web applications
Social media
Using Open Data Protocol with RESTful web APIs
Summary
Chapter 10: Useful Features and Techniques
Tools for building a JAX-RS application
Integration testing of JAX-RS resources with Arquillian
Using third-party entity provider frameworks with Jersey
Packaging and deploying JAX-RS applications
Summary

Book Details

ISBN 139781788294041
Paperback420 pages
Read More
From 1 reviews

Read More Reviews

Recommended for You

Architecting Modern Java EE Applications Book Cover
Architecting Modern Java EE Applications
$ 39.99
$ 28.00
Java EE 8 Microservices Book Cover
Java EE 8 Microservices
$ 39.99
$ 28.00
Developing Middleware in Java EE 8 Book Cover
Developing Middleware in Java EE 8
$ 39.99
$ 28.00
Machine Learning: End-to-End guide for Java developers Book Cover
Machine Learning: End-to-End guide for Java developers
$ 75.99
$ 53.20
Learning Apache Apex Book Cover
Learning Apache Apex
$ 35.99
$ 25.20
Learning Apache Apex Book Cover
Learning Apache Apex
$ 35.99
$ 25.20