O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Hands-On RESTful Web Services with Java 11

Video Description

This course will help you create a RESTful web service right from scratch

About This Video

  • Implement an elegant REST API with Java from scratch by using powerful libraries
  • Secure and validate RESTful services and REST architectural components
  • Optimizing RESTful services for maximum efficiency and to save development time.

In Detail

RESTful Web Services is a stateless client-server architecture where web services are resources and can be identified by their URIs. Implementing RESTful Web Services with Java helps to simplify the development and deployment of web services. This course will show you how to implement a REST Web Service (API) in Java from scratch (using servlets), covering the basic concepts. This will be later followed by improvements in security, authentication, authorization, scalability, performance, API modeling, CORS, versioning, and documentation. Finally, you will find out what libraries are available to help you implement an API with ease, how to integrate with different layers and kinds of dependencies, how to integrate with other APIs, and where and how to deploy your application. By the end of this course, you will be able to efficiently create reliable and powerful Java RESTful Web Services and get a clear understanding of the process by implementing it your web apps.

The code is uploaded here on GitHub: https://github.com/PacktPublishing/Hands-On-RESTful-Web-Services-with-Java-11

Table of Contents

  1. Chapter 1 : Introduction to REST
    1. The Course Overview 00:03:21
    2. Concepts and Definitions 00:09:08
    3. Backend versus Frontend 00:04:20
    4. REST or Restful, or What Else? 00:05:39
    5. Real-Life Examples 00:07:38
  2. Chapter 2 : REST from Scratch
    1. Understanding Servlets 00:03:44
    2. Basic Maven Setup 00:05:33
    3. Our Very First Servlet 00:09:02
    4. Exploring Verbs and Routes 00:06:26
    5. Exploring Headers and Responses 00:06:49
    6. Our First REST Route 00:10:00
    7. REST Route: Create 00:06:38
    8. REST Route: Show 00:06:32
    9. REST Route: Delete 00:04:05
    10. REST Route: Edit 00:10:24
    11. Review 00:04:39
  3. Chapter 3 : A Bit of Structure
    1. The Router Concept 00:07:44
    2. Implementing the Simplest Router 00:09:22
    3. A Handy Router: Route Definition - Part 1 00:09:07
    4. A Handy Router: Route Definition - Part 2 00:06:53
    5. A Handy Router: Route Handler 00:05:49
    6. The Actual Router 00:07:00
    7. More Routes! 00:08:15
  4. Chapter 4 : Basic Building Blocks - Part 1
    1. Authentication: Basics 00:09:39
    2. Authentication: Login Request versus Auth Token 00:06:17
    3. Authentication: Providers 00:10:36
    4. Authentication: Implementation Details 00:06:31
    5. Authentication: via Filter 00:10:02
    6. Authentication: via Router 00:03:49
    7. Database and Persistence 00:09:50
    8. Dalesbred Setup 00:07:32
    9. Persistent TODOs 00:09:07
    10. New TODOs Handler 00:05:20
    11. Better Token Authentication 00:09:43
  5. Chapter 5 : Basic Building Blocks - Part 2
    1. CORS Explained 00:17:02
    2. Enabling CORS 00:07:11
    3. Versioning 00:07:01
    4. Versioned TODOs 00:06:38
    5. Basic Documentation 00:07:30
    6. Documentation with Postman 00:06:26
    7. Recap 00:01:54
  6. Chapter 6 : Advanced Building Blocks - Part 1
    1. Scalability 00:10:17
    2. Cache Implementation 00:09:14
    3. Background Tasks 00:07:10
    4. Background Task Implementation - Part 1 00:08:42
    5. Background Tasks Implementation - Part 2 00:07:49
    6. Background Tasks Implementation - Part 3 00:06:19
  7. Chapter 7 : Advanced Building Blocks - Part 2
    1. Advanced API Modeling 00:08:34
    2. Nested Resources Implementation - Part 1 00:05:33
    3. Nested Resources Implementation - Part 2 00:09:01
    4. Nested Resources Implementation - Part 3 00:08:14
    5. Nested Resources Implementation - Part 4 00:08:44
    6. HATEOAS 00:08:56
    7. HATEOAS Implementation - Part 1 00:05:29
    8. HATEOAS Implementation - Part 2 00:08:28
    9. Recap 00:01:05
  8. Chapter 8 : Testing
    1. Tests? Why? 00:05:31
    2. Automated Tests 00:09:21
    3. Unit Tests: Code Review 00:05:30
    4. API Tests: Setup HSQLDB 00:10:54
    5. API Tests: Request Class 00:08:44
    6. API Tests: Response Class 00:07:17
    7. API Tests: Refactoring 00:09:49
    8. API Tests: TODOs 00:06:22
    9. API Tests: Tasks 00:08:24
    10. API Tests: Finishing Off 00:08:05
    11. Integration Tests: Tooling 00:06:27
    12. Advanced Topics 00:08:38
    13. Recap 00:02:13
  9. Chapter 9 : Final Thoughts
    1. Everything From Scratch! 00:06:33
    2. Some JAX-RS Implementations 00:05:56
    3. Spring 00:12:56
    4. Spark Java 00:10:14
    5. Yawp! 00:06:15
    6. Different Environments, Different Variables 00:10:11
    7. Deployment 00:08:17
    8. Afterword 00:03:45