Chapter 1, A Few Basics, covers a basic understanding of REST, Reactive programming, and their basics, including the benefits of Reactive programming. It also covers Spring 5 basics with Reactive programming and an example RESTful web service as a base for other chapters.
Chapter 2, Building RESTful Web Services in Spring 5 with Maven, covers how to build a RESTful web service with Apache Maven by using either the Eclipse IDE or STS (Spring Tool Suite). The second section of the chapter covers creating a new project in Eclipse/STS and running our basic REST API.
Chapter 3, Flux and Mono (Reactor Support) in Spring, discusses Reactive programming and its benefits. This chapter also covers a little bit about Reactive Core and Reactive Streams. The second section of this chapter covers Flux and Mono in Spring REST, including a basic implementation of the GET and POST methods in Reactive.
Chapter 4, CRUD Operations in Spring REST, covers mapping CRUD operations to HTTP methods and implementation of CRUD operations on User with Reactor support.
Chapter 5, CRUD Operations in Plain REST (Without Reactive) and File Upload, covers mapping CRUD operations to HTTP methods and implementation of CRUD operations on User (Create, Read, Update, and Delete) without Reactor support. Also, this chapter covers file uploading in Spring.
Chapter 6, Spring Security and JWT (JSON Web Token), covers Spring Security, JWT (JSON Web Token), and JWT generation. The second section of this chapter covers getting details from the generated token and also restricting service calls by JWT security.
Chapter 7, Testing RESTful Web Services, talks about various testing strategies to test our existing RESTful web services, including JUnit and MockMvc-like unit test cases, and clients such as Postman, SoapUI, and jsoup web reader.
Chapter 8, Performance, discusses different performance-related topics, including HTTP compression, HTTP caching, and HTTP control. The second section of the chapter covers cache implementation and HTTP headers such as If-Modified-Since and ETag.
Chapter 9, AOP and Logger Controls, covers Spring AOP, including its theory, implementation, and logging controls.
Chapter 10, Building a REST Client and Error Handling, covers RestTemplate in Spring, the basic setup for building a RESTful service client with Spring, and calling the RESTful service from the client side. The second section of the chapter covers error handling, including defining an error handler and using it.
Chapter 11, Scaling, covers the techniques, libraries, and tools used for application scaling purposes. It includes clustering and the benefits of clustering. This chapter also covers load balancing, scaling a database, and distributed caching.
Chapter 12, Microservice Basics, talks about microservices, the benefits of microservices, and the basic characteristics of microservices. It also covers various microservice components.
Chapter 13, Ticket Management - Advanced CRUD, covers advanced CRUD operations on tickets, including creating and updating a ticket through a customer, updating a ticket by CSR, and updating a ticket by admin. This chapter also talks about deleting multiple tickets by CSR and admin.