We may earn an affiliate commission when you visit our partners.
Course image
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

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in RESTful Web Services, Java, Spring Boot, Spring MVC and JPA with these activities:
Review basic Java syntax and data structures
Refresh your knowledge of Java syntax and data structures to strengthen your foundation for the course.
Browse courses on Java Syntax
Show steps
  • Review online tutorials or documentation on Java syntax and data structures.
  • Practice writing simple Java programs to reinforce basic concepts.
  • Solve coding challenges or puzzles involving data structures.
  • Attend workshops or join study groups to engage with others.
  • Complete practice exercises or assignments to test your understanding.
Organize and review notes, quizzes, and exams
Organize and review learning materials to reinforce understanding and identify areas for improvement.
Show steps
  • Gather and organize notes, quizzes, and exams from the course.
  • Review the materials regularly, focusing on key concepts.
  • Identify areas where further clarification or practice is needed.
  • Create summaries or mind maps to consolidate learning.
  • Utilize flashcards or quiz apps to test your knowledge.
Join study groups or online forums to discuss course topics
Engage with peers to clarify concepts, share insights, and support each other's learning journey.
Show steps
  • Identify relevant study groups or online forums.
  • Participate in discussions, ask questions, and provide answers.
  • Collaborate on projects or assignments.
  • Network with other learners and professionals in the field.
  • Share resources and learning materials.
Six other activities
Expand to see all activities and additional details
Show all nine activities
Follow tutorials on Java concurrency and multithreading
Explore Java concurrency and multithreading concepts through guided tutorials to enhance your understanding of how to write efficient and scalable code.
Show steps
  • Find tutorials on Java concurrency and multithreading from reputable sources.
  • Follow the tutorials step-by-step, implementing examples and practicing the concepts.
  • Experiment with different concurrency and synchronization techniques.
  • Discuss and ask questions in online forums or with peers to clarify any doubts.
  • Apply the acquired knowledge to your own Java projects.
Learn to Use Spring Data JPA
Develop an understanding of how to use the Java Persistence API through Spring Data JPA.
Browse courses on Spring Data JPA
Show steps
  • Review ORM concepts
  • Follow a Spring Data JPA tutorial
  • Implement basic data access methods using Spring Data JPA
Implement CRUD operations using Spring Data JPA
Practice implementing CRUD operations in Java to reinforce your understanding of data access and database management.
Browse courses on Spring Data JPA
Show steps
  • Create a Spring Boot project with Spring Data JPA dependency.
  • Define an entity class representing the data model.
  • Create a repository interface extending CrudRepository.
  • Implement basic CRUD operations (save, find, update, delete) in the service layer.
  • Test the CRUD operations using JUnit.
Build a REST API using Spring Boot and Postman
Create a simple RESTful API to understand how back-end services work and how to interact with them using HTTP requests.
Browse courses on Spring Boot
Show steps
  • Set up a Spring Boot project.
  • Design and define API endpoints.
  • Implement API methods using Spring MVC annotations.
  • Use Postman to send HTTP requests and test the API.
  • Package and deploy the API as a standalone application.
Build a Simple RESTful Web Service Using Java
Apply the concepts learned in the course by building a RESTful web service with Java and Spring Boot.
Show steps
  • Set up development environment
  • Implement basic RESTful operations
  • Run and test the web service
Develop a personal website or portfolio using HTML, CSS, and JavaScript
Build a personal website or portfolio to showcase your skills, creativity, and understanding of web development principles.
Browse courses on HTML
Show steps
  • Plan the website structure, content, and design.
  • Code the website using HTML, CSS, and JavaScript.
  • Design and implement a responsive layout.
  • Integrate interactive elements and animations.
  • Deploy the website on a web hosting platform.

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
Spring Boot Microservices with Spring Cloud Beginner to...
Most relevant
RESTful Web Service with Java JAX-RS. Create & Deploy 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