Master Java Web Services and REST API with Spring Boot [Video]

More Information
Learn
  • You will learn to design and develop SOAP and RESTful web services with Spring Boot.
  • You will learn the magic of Spring Boot including auto-configuration, Spring Initializr, and starter projects, as well as how to connect web services to JPA/Hibernate with Spring Boot. 
  • You will learn how to implement exception handling, validation, HATEOAS, and filtering for RESTful web services.
  • You will learn to use a wide variety of Spring Boot starter projects including Spring Boot web, Spring Boot web services, and Spring Boot data JPA. 
  • You will learn how to version, monitor (Spring Boot actuator) and document (Swagger) your RESTful web services with Spring Boot find our about WSDL, SOAP Header, SOAP Body, SOAP Fault, XSD, JAXB and EndPoint
About

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.

Style and Approach

Very suitable for programmers moving to Spring Boot, especially if you are moving to microservices.

Features
  • Great tutorial and easy to understand
  • Very suitable for programmers moving to Spring Boot, especially if you are moving to microservices.
Course Length 9 hours 34 minutes
ISBN 9781789130133
Date Of Publication 23 Mar 2018
Step 01 - Initializing a RESTful Services Project with Spring Boot
Step 02 - Understanding the RESTful Services we would create in this course
Step 03 - Creating a Hello World Service
Step 04 - Enhancing the Hello World Service to return a Bean
Step 05 - Quick Review of Spring Boot Auto Configuration and Dispatcher Servlet
Step 06 - Enhancing the Hello World Service with a Path Variable
Step 07 - Creating User Bean and User Service
Step 08 - Implementing GET Methods for User Resource
Step 09 - Implementing POST Method to create User Resource
Step 10 - Enhancing POST Method to return correct HTTP Status Code and Location
Step 11 - Implementing Exception Handling - 404 Resource Not Found
Step 12 - Implementing Generic Exception Handling for all Resources
Step 13 - Exercise: User Post Resource and Exception Handling
Step 14 - Implementing DELETE Method to delete a User Resource
Step 15 - Implementing Validations for RESTful Services
Step 16 - Implementing HATEOAS for RESTful Services
Step 17 - Overview of Advanced RESTful Service Features
Step 18 - Internationalization for RESTful Services
Step 19 - Content Negotiation - Implementing Support for XML
Step 20 - Configuring Auto Generation of Swagger Documentation
Step 21 - Introduction to Swagger Documentation Format
Step 22 - Enhancing Swagger Documentation with Custom Annotations
Step 23 - Monitoring APIs with Spring Boot Actuator
Step 24 - Implementing Static Filtering for RESTful Service
Step 25 - Implementing Dynamic Filtering for RESTful Service
Step 26 - Versioning RESTful Services - Basic Approach with URIs
Step 27 - Versioning RESTful Services - Header and Content Negotiation Approach
Step 28 - Implementing Basic Authentication with Spring Security

Authors

Ranga Karanam

Ranga Karanam of in28Minutes fame is an architect with 15 years of Java programming and design experience with major banking clients across the world. He started in28Minutes with the aim of creating hands-on courses with real-world projects. The Step-By-Step series of courses is one of his creations. They use a problems-solution based step-by-step approach with practical, and real-world application examples. While their primary expertise is in the development, design, and architecture of Java and related frameworks (Spring, Spring Boot, Spring MVC, Struts, Hibernate), they are expanding into the front-end world (Bootstrap, JQuery, Angular JS). The foundations for building high-quality applications are best laid down while learning. They love open source and therefore, all their code is open source too and available on Github. They use the 80-20 rule, touching upon other things to briefly equip you with enough knowledge to find out more on your own.