Find out how to implement the REST architecture to build resilient software in Java with the help of the Spring 5.0 framework.
- Follow best practices and explore techniques such as clustering and caching to achieve a reactive, scalable web service,
- Leverage the Spring Framework to quickly implement RESTful endpoints,
- Learn to implement a client library for a RESTful web service using the Spring Framework along with the new front end framework.
REST is an architectural style that tackles the challenges of building scalable web services. In today's connected world, APIs have taken a central role on the web. APIs provide the fabric through which systems interact, and REST has become synonymous with APIs.The depth, breadth, and ease of use of Spring makes it one of the most attractive frameworks in the Java ecosystem. Marrying the two technologies is therefore a very natural choice.This book takes you through the design of RESTful web services and leverages the Spring Framework to implement these services. Starting from the basics of the philosophy behind REST, you'll go through the steps of designing and implementing an enterprise-grade RESTful web service. Taking a practical approach, each chapter provides code samples that you can apply to your own circumstances.This second edition brings forth the power of the latest Spring 5.0 release, working with MVC built-in as well as the front end framework. It then goes beyond the use of Spring to explores approaches to tackle resilience, security, and scalability concerns. Improve performance of your applications with the new HTTP 2.0 standards. You'll learn techniques to deal with security in Spring and discover how to implement unit and integration test strategies.Finally, the book ends by walking you through building a Java client for your RESTful web service, along with some scaling techniques using the new Spring Reactive libraries.
What you will learn
- Deep dive into the principles behind REST
- Expose CRUD operations through RESTful endpoints with the Spring Framework
- Devise response formats and error handling strategies, offering a consistent and flexible structure to simplify integration for service consumers
- Follow the best approaches for dealing with a service's evolution while maintaining backward compatibility
- Understand techniques to secure web services
- Comply with the best ways to test RESTful web services, including tips for load testing
- Optimise and scale web services using techniques such as caching and clustering
Who This Book Is For
This book is intended for those who want to learn to build RESTful web services with the latest Spring 5.0 Framework. To make best use of the code samples included in the book, you should have a basic knowledge of the Java language. Previous experience with the Spring Framework would also help you get up and running quickly.
Table of Contents
Chapter 1. A Few Basics
Chapter 2. Building RESTful Web Service in Spring 5 with Maven
Chapter 3. Flux and Mono (Reactor Support) in Spring
Chapter 4. CRUD Operations in Spring REST
Chapter 5. CRUD Operations in Plain REST (without Reactive) and File Upload
Chapter 6. Spring Security and JWT (JSON Web Token)
Chapter 7. Testing RESTful Web Service
Chapter 8. Performance
Chapter 9. AOP and Logger Controls
Chapter 10. Building a REST Client and Error Handling
Chapter 11. Scaling
Chapter 12. Microservice Basics
Chapter 13. Ticket Management - Advanced CRUD