We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

RESTful Web Services, Java, Spring Boot, Spring MVC and JPA

Sergey Kargopolov

This is a very practical video course aimed at beginner Java developers to help them build their very first RESTful Web Service application with Java, Spring Boot and Spring Data JPA to implement features like: 

Read more

This is a very practical video course aimed at beginner Java developers to help them build their very first RESTful Web Service application with Java, Spring Boot and Spring Data JPA to implement features like: 

  • User sign-up and User sign-in, 

  • Email verification,

  • Password Reset,

  • Get user details API call, 

  • Get a list of users API call and implement Pagination, 

  • Update user details and Delete user details API calls, 

  • Learn to secure Web Service endpoints with Spring Security, 

  • Learn to use Amazon AWS Simple Email Service(SES) to send and request to confirm the user email address, 

  • and learn to generate and include the JSON Web Token in HTTP Request.

Students will learn how to use Postman HTTP client software to send: HTTP  We will also cover how to: 

  • Send data to your RESTful WebService via HTTP Body and,

  • How to pass data via URL Query String and as a Path parameter,

  • How to enable your RESTful Web Service to respond to Cross-Origin AJAX HTTP Requests.

You will also learn how to make your RESTful Web Service accept and respond back with JSON or XML media type.

In this video course you will learn how to: 

  • Download and install Spring Tool Suite(STS), 

  • Download and install MySQL server and MySQL Workbench GUI, 

  • Download and run Apache Tomcat,

  • Add a specific Apache Tomcat Version to your Spring Tool Suite, 

  • User Maven to build and run your project as well as package it into a deployable WAR file, 

  • You will also learn how to run your Web Service as a stand-alone Java application with build-in Tomcat, 

  • Deploy your RESTful Web Service to Apache Tomcat as well as, 

  • Startup your own Amazon AWS EC2 Service in Amazon Cloud, install Java, MySQL, Tomcat, and deploy RESTful Web Service to your very own cloud server. 

  • You will also learn how to deploy your application to AWS Beanstalk

This video course also covers the H2 in-memory database and teaches how to build a RESTful Web Service that stores data in a database without a need to install MySQL or any other database server. You will also learn how to use the H2 console to preview data stored in an in-memory database tables or in a MySQL database server.

When it comes to storing data in a database you will learn how to use Spring Data JPA Query Methods as well as Native SQL Queries.

You will also learn how to use JUnit 5 to test your code and how to use one of the most popular test frameworks called Rest Assured to test RESTful Web Service endpoints of your REST API.

Enroll now

What's inside

Learning objectives

  • Build a restful web service with spring boot
  • Learn how to implement user sign-in functionality
  • Learn how to implement user sign-up functionality
  • Protect restful web service with spring security framework
  • Learn how to implement token-based authentication
  • Implement password reset and email verification features
  • Use spring data jpa query methods
  • Use spring data jpa native sql queries
  • Download and install mysql server on mac
  • Download and install mysql workbench
  • Download and install spring tool suite
  • Create new project using spring tool suite and spring initializer
  • Download, run and stop apache tomcat
  • Deploy restful web service application to apache tomcat
  • Run restful web service application as a stand along java application
  • Build and run rest api with maven
  • Use postman http client to send http request to a web service endpoints
  • Start up amazon ec2 server
  • Install java, mysql and apache tomcat on amazon aws ec2 server
  • Deploy restful web service to amazon aws ec2 server
  • Deploy with aws beanstalk
  • Use h2 in-memory database
  • Use h2 database console to preview data in memory database as well as in a stand along mysql database server
  • Use junit 5 to test code
  • Use rest assured to test restful web service endpoint
  • Show more
  • Show less

Syllabus

Introduction
Source Code
Install HTTP client Postman
Postman overview
Read more
Resource and Collection URIs
HTTP Methods: GET, POST, DELETE and PUT
Custom actions in REST URI
HTTP Headers: Accept and Content Type
Introduction to Web Service Application Layers
A few suggestions
REST API Design Principles - Quiz
Download, Install and run MySQL Database on Local Computer
Downloading and Installing MySQL on MAC
Start MySQL Server and Login
Creating MySQL Database and a new User
Downloading and Installing MySQL Workbench
Connect to MySQL Database using MySQL WorkBench
MySQL WorkBench brief overview
Setup Development Environment
Install Java Platform (JDK)
Download and Install Spring Tool Suite(STS)
Getting Started. Creating a New Project.
Create new Spring Boot Project with Spring Tool Suite
Creating a new Spring project using Spring Boot Initializr
Quick Start
Create Users Rest Controller class
Adding Methods to Handle POST, GET, PUT, DELETE HTTP requests
Running Web Service Application
Adding MySQL Database Support
Update POM.XML file
Configure MySQL Database Access Details
Implementing User Sign up
Adding method to handle HTTP Post Request
Implementing the Create User Request Model class
Implementing Create User Response Model
Implementing the UserDto
Making use of UserRest and UserDto in RestController
Implementing Service class method
Implementing UserEntity class
Set Default Value for Email Verification Status field
Implementing UsersRepository class
Autowire UserRepository into Service class
Trying how the User Sign up works
Preventing Duplicate Entries with @Column(unique=true)
Check if user already exists
Generate User Public ID
Spring Security for User Sign-up
Adding Spring Security to our project
Encrypt User Password
Make the Sign-up Web Service Endpoint Public
Migrating from WebSecurityConfigurerAdapter
Spring Security for User Sign-in. Authentication & Authorization.
Implementing User Sign-in Request Model
[Updated] Implementing loadUserByUsername()
[Updated] Implementing SecurityConstants class
[Updated]Adding Maven Dependencies to generate and validate JWT
[Updated] AuthenticationFilter Part 1. Implementing attemptAuthentication().
[Updated] AuthenticationFilter Part 2. Implementing successfulAuthenticatio().
[Updated] AuthenticationFilter Part 3. Register with HttpSecurity.
Trying how user Authentication/Login works
[Updated] Add UserId to HTTP Response Header
[Updated]Customize Login URL Path
[Updated] Implementing Authorization Filter.
Trying how User Authorization works
[Updated] Reading Token Secret from a properties file
Implementing Get User Details Web Service Endpoint
Get User Details Resource Method
Implement Service layer method
Update UserRepository
Trying the Get User Details API Call
Adding XML Support & JSON Support
Update POM.XML
Responding with XML or JSON
Consuming XML or JSON
Exceptions Handling
Implementing ErrorMessages enum
Implementing UserServiceException
Handle a Specific Exception
Return Custom Error Object Representation
Handle All Other Exceptions
Update User Details API Call
Update User Details Resource Method
Implementing Service Layer Method
Trying the Update User Details API Call
Delete User API Call
Delete User Resource Method
Trying the Delete User API Call
Pagination and Get Users API Call
The Get Users Request URL
The Get Users Resource Method
Get Users Service Layer Method
Trying the Get Users API Call
Deploying Your App
Running Your Web Services App without STS
Create Context Path to Your Web Service
Run Your App as a Java application
Generating WAR file
Install Apache Tomcat on Windows

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops the ability to use Spring Boot to build RESTful web services
Builds a foundation of Spring Boot RESTful APIs for CRUD operations
Covers authentication and user management with Spring Security
Enables learners to use MySQL and H2 databases for data persistence
Emphasizes REST principles and best practices in API design
Provides guidance on deploying RESTful services to the cloud

Save this course

Save RESTful Web Services, Java, Spring Boot, Spring MVC and JPA to your list so you can find it easily later:
Save

Reviews summary

High quality instruction

Learners say this course offers well explained concepts, high quality code samples, and industry hot topics. Many students specifically remark on the instructor's clear way of presenting information.
Clear explanations and great examples.
"Well I love the way of explaining,code writing quality and industry hot topics."
"Thanks Sergey!!"
Covers relevant industry topics.
"Well I love the way of explaining,code writing quality and industry hot topics."
Instructor is knowledgeable and helpful.

Activities

Coming soon We're preparing activities for RESTful Web Services, Java, Spring Boot, Spring MVC and JPA. These are activities you can do either before, during, or after a course.

Career center

Learners who complete RESTful Web Services, Java, Spring Boot, Spring MVC and JPA will develop knowledge and skills that may be useful to these careers:
Web Developer
This course provides a comprehensive overview of building RESTful Web Services with Java, Spring Boot, and other essential technologies. For Web Developers, understanding backend development is crucial, and this course will equip you with the skills to build robust and scalable web applications.
Backend Developer
This course provides a comprehensive overview of building RESTful Web Services with Java, Spring Boot, and other essential technologies. As a Backend Developer, this course will be highly relevant to your role, offering practical skills and knowledge in building robust and scalable web services.
Full-Stack Developer
This course offers a comprehensive overview of building RESTful Web Services with Java, Spring Boot, and other essential technologies. For Full-Stack Developers, understanding backend development is crucial, and this course will equip you with the skills to build robust and scalable web applications.
Java Developer
This course provides a comprehensive overview of building RESTful Web Services with Java, Spring Boot, and other essential technologies. As a Java Developer, this course will significantly strengthen your foundational knowledge of web services and backend development with the widely-used Java platform.
Data Scientist
This course provides a comprehensive overview of building RESTful Web Services with Java, Spring Boot, and other essential technologies. Data Scientists seeking to expand their technical skillset may find this course useful in building data pipelines and web applications for data analysis.
Software Engineer
This course provides a comprehensive overview of building RESTful Web Services with Java, Spring Boot, and other essential technologies. Software Engineers seeking to specialize in backend development will find this course particularly valuable in building a strong foundation in web services.
Systems Analyst
This course provides a comprehensive overview of building RESTful Web Services with Java, Spring Boot, and other essential technologies. For Systems Analysts seeking to gain a deeper understanding of backend development, this course will be valuable in understanding the technical aspects of web services.
Front-End Developer
While this course focuses primarily on backend development, it also covers the fundamentals of RESTful web services and data exchange in web applications. This foundational knowledge will be beneficial for Front-end Developers seeking to expand their understanding of the web development ecosystem.
SRE
This course provides a comprehensive overview of building RESTful Web Services with Java, Spring Boot, and other essential technologies. For SREs seeking to gain a deeper understanding of web services and their implementation, this course may be useful in understanding the operational aspects of web services.
DevOps Engineer
This course provides a comprehensive overview of building RESTful Web Services with Java, Spring Boot, and other essential technologies. For DevOps Engineers seeking to gain a deeper understanding of web services and their implementation, this course may be useful in understanding the development and deployment aspects of web services.
Technical Writer
This course provides a comprehensive overview of building RESTful Web Services with Java, Spring Boot, and other essential technologies. As a Technical Writer seeking to develop knowledge in web services, this course may be useful in understanding the technical concepts and principles behind web service development.
Cloud Engineer
This course provides a comprehensive overview of building RESTful Web Services with Java, Spring Boot, and other essential technologies. As a Cloud Engineer, this course may be useful in understanding the deployment and scaling aspects of web services in cloud environments.
Product Manager
This course provides a comprehensive overview of building RESTful Web Services with Java, Spring Boot, and other essential technologies. As a Product Manager seeking to gain a deeper understanding of technical aspects of web services, this course may be useful in understanding the development and deployment aspects of web services.
Database Administrator
This course provides a comprehensive overview of building RESTful Web Services with Java, Spring Boot, and other essential technologies. As a Database Administrator, this course may be useful in understanding the data persistence and storage aspects of web services.
UI/UX Designer
This course introduces you to "RESTful Web Services" and the process of creating web applications with Spring Boot, Spring MVC, and JPA. As a UI/UX Designer, working knowledge of backend development is a valuable skillset, allowing you to gain a holistic understanding of the web development process.

Reading list

We've selected eight books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in RESTful Web Services, Java, Spring Boot, Spring MVC and JPA.
Collection of recipes for building and consuming RESTful web services. It covers a wide range of topics, from designing your API to securing your application.
Beginner-friendly guide to Java, covering everything from the basics to more advanced topics. It great resource for those who are new to programming or who want to learn more about Java.
Classic guide to writing clean and maintainable code. It valuable resource for developers of all levels.
Classic guide to design patterns, which are reusable solutions to common software design problems. It valuable resource for developers of all levels.
Collection of 90 effective Java programming practices. It valuable resource for developers of all levels.
Comprehensive guide to Java concurrency, which is the process of writing code that can run concurrently on multiple threads. It valuable resource for developers of all levels.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to RESTful Web Services, Java, Spring Boot, Spring MVC and JPA.
Spring Framework: Authenticating Users with Spring...
Most relevant
Master Microservices with Spring Boot and Spring Cloud
Most relevant
Spring Boot 3 Fundamentals
Most relevant
Spring Boot Microservices and Spring Cloud. Build &...
Most relevant
Spring Framework 6: Beginner to Guru
Most relevant
RESTful Web Service with Java JAX-RS. Create & Deploy to...
Most relevant
Spring Boot Microservices with Spring Cloud Beginner to...
Most relevant
Building Applications Using Spring JDBC 5
Most relevant
Restful Web Service Spring Boot Visual Studio Code Gradle
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser