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

Master Java Web Services and REST API with Spring Boot

Video Description

Learn to develop RESTful and SOAP Java web services with Spring and Spring Boot in 90 easy steps

About This Video

  • Great tutorial and easy to understand
  • Very suitable for programmers moving to Spring Boot, especially if you are moving to microservices.

In Detail

Developing SOAP and RESTful web services is fun. The combination of Spring Boot, Spring Web MVC, Spring web services, and JPA makes it even more fun. Architectures are moving towards Microservices. RESTful web services are the first step to developing great Microservices. Spring Boot, in combination with Spring Web MVC (also called Spring REST) makes it easy to develop RESTful web services. There are two parts to this course: RESTful web services and SOAP web services. In the first part of the course, you will learn the basics of RESTful web services developing resources for a social media application. You will learn to implement these resources with multiple features such as versioning, exception handling, documentation (Swagger), basic authentication (Spring Security), filtering and HATEOAS. You will learn the best practices in designing RESTful web services. You will be using Spring (dependency management), Spring MVC (or Spring REST), Spring Boot, Spring Security (authentication and authorization), Spring Boot Actuator (monitoring), Swagger (Documentation), Maven (dependencies management), Eclipse (IDE), Postman (REST services client), and the Tomcat embedded web server. We will help you set up each one of these. While the use of SOAP web services is on the way down, there are still a considerable number of web services using this approach. In the second part of the course, you will learn the basics of implementing SOAP web services by developing a few web services for a course management application. You will learn to use a contract first approach, defining XSD (XML Schema Definition) for your requests and responses. You will learn about WSDL (SOAP header, SOAP body and SOAP fault), XSD (XML schema definition) and JAXB (Java API for XML binding). You will implement three SOAP web services with exception handling and basic security (with WS security). In this part of the course, you will be using Spring (dependency management), Spring web services , Spring Boot, Spring Security (authentication and authorization), Swagger (documentation), Maven (dependencies management), Eclipse (IDE), Wizdler (SOAP services Chrome Plugin), and the Tomcat embedded web server. We will help you set up each one of these.

Table of Contents

  1. Chapter 1 : Getting Started
    1. Introduction 00:01:32
    2. Introduction to Course & Course Guide 00:03:21
  2. Chapter 2 : Introduction to Web Services
    1. Introduction to Web Services - An Overview 00:00:32
    2. What is a Web Service? 00:06:08
    3. Important How Questions related to Web Services 00:06:41
    4. Web Services - Key Terminology 00:04:13
    5. Introduction to SOAP Web Services 00:04:40
    6. Introduction to RESTful Web Services 00:07:33
    7. SOAP vs RESTful Web Services 00:02:20
  3. Chapter 3 : Introduction to Spring Framework in 10 Steps
    1. First 10 Steps in Spring- An Overview 00:01:18
    2. Step 1: Setting up a Spring Project using htttp://start.spring.io 00:04:49
    3. Step 2: Understanding Tight Coupling using the Binary Search Algorithm Example 00:08:27
    4. Step 3: Making the Binary Search Algorithm Example Loosely Coupled 00:05:22
    5. Step 4: Using Spring to Manage Dependencies - @Component, @Autowired 00:11:31
    6. Step 5: What is happening in the background? 00:06:28
    7. Step 6: Dynamic auto wiring and Troubleshooting - @Primary 00:04:47
    8. Step 7: Constructor and Setter Injection 00:04:56
    9. Step 8: Spring Modules 00:05:05
    10. Step 9: Spring Projects 00:04:46
    11. Step 10: Why is Spring Popular? 00:04:15
  4. Chapter 4 : Introduction to Spring Boot in 10 Steps
    1. First 10 Steps in Spring Boot - An Overview 00:01:10
    2. Step 1: Introduction to Spring Boot - Goals and Important Features 00:06:11
    3. Step 2: Developing Spring Applications before Spring Boot 00:03:46
    4. Step 3: Using Spring Initializr to create 00:04:48
    5. Step 4: Creating a Simple REST Controller 00:05:03
    6. Step 5: What is Spring Boot Auto Configuration? 00:09:07
    7. Step 6: Spring Boot vs Spring vs Spring MVC 00:05:55
    8. Step 7: Spring Boot Starter Projects - Starter Web and Starter JPA 00:07:39
    9. Step 8: Overview of different Spring Boot Starter Projects 00:04:01
    10. Step 9: Spring Boot Actuator 00:08:38
    11. Step 10: Spring Boot Developer Tools 00:04:12
  5. Chapter 5 : SOAP Web Services with Spring and Spring Boot
    1. SOAP Web Services - An Overview 00:01:29
    2. Step 01 - Initialize a Spring Web Services application with Spring Boot 00:03:46
    3. Step 02 - Overview of creating SOAP Web Service using Contract First Approach 00:05:00
    4. Step 03 - Define Request and Response XML Structure 00:05:16
    5. Step 04 - Define XML Schema Definition (XSD) for Request – GetCourseDetailsReque 00:08:26
    6. Step 05 - Define XML Schema Definition (XSD) for Response – GetCourseDetailsResp 00:04:39
    7. Step 06 - More about XML Schema Definition and Implementing XSD Best Practices 00:03:40
    8. Step 07 - Introduction to Java API for XML Binding (JAXB) and Configuring JAXB 2 00:08:38
    9. Step 08 - Configuring an Endpoint for GetCourseDetailsRequest 00:07:13
    10. Step 09 - Spring Web Services Configuration - Message Dispatcher Servlet 00:06:03
    11. Step 10 - Spring Web Services Configuration - Generating WSDL 00:09:11
    12. Step 11 - Using Wizdler to execute SOAP Requests 00:04:49
    13. Step 12 - Implementing a service - Course Details Service - backend with in memo 00:08:35
    14. Step 13 - Implementing SOAP Web Service for GetAllCourseDetailsRequest 00:08:12
    15. Step 14 - Quick introduction to different parts of a WSDL 00:05:58
    16. Step 15 - Implementing SOAP Web Service for DeleteCourseDetailsRequest 00:03:19
    17. Step 16 - Improving the DeleteCourseDetailsRequest - Using an Enum for Status 00:07:07
    18. Step 17 - Exception Handling and SOAP Fault Responses 00:07:03
    19. Step 18 - Implementing Security for SOAP Web Services with WS Security 00:12:43
  6. Chapter 6 : ChapterName
    1. RESTful Web Services - An Overview 00:02:31
    2. Step 01 - Initializing a RESTful Services Project with Spring Boot 00:05:35
    3. Step 02 - Understanding the RESTful Services we would create in this course 00:06:20
    4. Step 03 - Creating a Hello World Service 00:04:51
    5. Web Services with Spring and Spring Boot: Step 03 - Creating a Hello World Service 00:05:30
    6. Step 05 - Quick Review of Spring Boot Auto Configuration and Dispatcher Servlet 00:08:05
    7. Step 06 - Enhancing the Hello World Service with a Path Variable 00:03:18
    8. Step 07 - Creating User Bean and User Service 00:07:33
    9. Step 08 - Implementing GET Methods for User Resource 00:05:50
    10. Step 09 - Implementing POST Method to create User Resource 00:11:25
    11. Step 10 - Enhancing POST Method to return correct HTTP Status Code and Location 00:06:47
    12. Step 11 - Implementing Exception Handling - 404 Resource Not Found 00:06:56
    13. Step 12 - Implementing Generic Exception Handling for all Resources 00:11:53
    14. Step 13 - Exercise: User Post Resource and Exception Handling 00:01:16
    15. Step 14 - Implementing DELETE Method to delete a User Resource 00:04:32
    16. Step 15 - Implementing Validations for RESTful Services 00:10:17
    17. Step 16 - Implementing HATEOAS for RESTful Services 00:09:27
    18. Step 17 - Overview of Advanced RESTful Service Features 00:00:53
    19. Step 18 - Internationalization for RESTful Services 00:09:08
    20. Step 19 - Content Negotiation - Implementing Support for XML 00:05:34
    21. Step 20 - Configuring Auto Generation of Swagger Documentation 00:05:19
    22. Step 21 - Introduction to Swagger Documentation Format 00:09:47
    23. Step 22 - Enhancing Swagger Documentation with Custom Annotations 00:10:14
    24. Step 23 - Monitoring APIs with Spring Boot Actuator 00:09:13
    25. Step 24 - Implementing Static Filtering for RESTful Service 00:06:45
    26. Step 25 - Implementing Dynamic Filtering for RESTful Service 00:08:22
    27. Step 26 - Versioning RESTful Services - Basic Approach with URIs 00:05:18
    28. Step 27 - Versioning RESTful Services - Header and Content Negotiation Approach 00:09:24
    29. Step 28 - Implementing Basic Authentication with Spring Security 00:05:43
  7. Chapter 7 : Introduction to JPA in 10 Steps
    1. Introduction to JPA - An Overview 00:01:11
    2. Step 1: Object Relational Impedence Mismatch 00:04:43
    3. Step 2: World before JPA - JDBC, Spring JDBC and myBatis 00:07:00
    4. Step 3: Introduction to JPA 00:05:12
    5. Step 4: Creating a JPA Project using Spring Initializr 00:06:02
    6. Step 5: Defining a JPA Entity – User 00:04:41
    7. Step 6: Defining a Service to manage the Entity - UserService and EntityManager 00:04:53
    8. Step 7: Using a Command Line Runner to save the User to database 00:04:38
    9. Step 8: Magic of Spring Boot and In Memory Database H2 00:08:37
    10. Step 9: Introduction to Spring Data JPA 00:05:15
    11. Step 10: More JPA Repository: findById and findAll 00:02:54
  8. Chapter 8 : Connecting RESTful Web Service to JPA
    1. Step 29 - Overview of Connecting RESTful Service to JPA 00:01:26
    2. Step 30 - Creating User Entity and some test data 00:05:49
    3. Step 31 - Updating GET methods on User Resource to use JPA 00:06:32
    4. Step 32 - Updating POST and DELETE methods on User Resource to use JPA 00:04:17
    5. Step 33 - Creating Post Entity and Many to One Relationship with User Entity 00:06:05
    6. Step 34 - Implementing a GET service to retrieve all Posts of a User 00:04:14
    7. Step 35 - Implementing a POST service to create a Post for a User 00:06:09
  9. Chapter 9 : RESTful Web Services - Best Practices
    1. Step 36 - Richardson Maturity Model 00:03:22
    2. Step 37 - RESTful Web Services - Best Practices 00:03:29