Master Java Web Services and REST API with Spring Boot
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Master Java Web Services and REST API with Spring Boot
Included with
Ask Coursera
Recommended experience
Recommended experience
What you'll learn
Design and implement RESTful APIs with Spring Boot using advanced features like HATEOAS and versioning
Develop secure SOAP web services with Spring Web Services and WS Security integration
Connect APIs to databases using Spring Data JPA, Hibernate, and implement CRUD operations
Automate builds and dependency management using Maven and Gradle in enterprise applications
Skills you'll gain
Details to know
See how employees at top companies are mastering in-demand skills
There are 14 modules in this course
This course features Coursera Coach!
A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. Unlock the full power of Java web development by mastering both SOAP and RESTful web services with Spring and Spring Boot. This comprehensive course walks you through essential technologies and frameworks for modern backend development, equipping you with skills to design, develop, and secure enterprise-grade APIs. You’ll begin with the fundamentals of web services, then dive into the Spring Framework in 16 guided steps. After grasping the power of loose coupling and dependency injection, you'll build real-world applications using Spring Boot. From setting up projects and creating endpoints to advanced configurations, each step is hands-on and practical. Next, explore build tools like Maven and Gradle, before progressing to implementing SOAP and REST APIs using contract-first design, content negotiation, versioning, and security with Spring Security and WS Security. You'll also connect RESTful services to JPA for database integration, and review REST best practices. Designed for intermediate Java developers, this course is ideal for those seeking hands-on experience with Spring-based backend services. You should be comfortable with Java basics. While not a beginner course, clear guidance makes it accessible for fast learners and returners to Java development.
In this module, we will introduce the course and provide an overview of its structure. You will learn what to expect from the course, how to navigate through the content, and the tools and concepts you'll need to succeed.
What's included
1 video1 reading
1 video•Total 2 minutes
- Introduction to Course and Course Guide•2 minutes
1 reading•Total 10 minutes
- Full Course Resources•10 minutes
In this module, we will dive into the basics of web services, exploring what they are and why they are critical in modern application development. You will learn about SOAP and RESTful web services and understand their differences through clear examples and terminology breakdowns.
What's included
7 videos1 assignment
7 videos•Total 32 minutes
- Introduction to Web Services - An Overview•1 minute
- What Is a Web Service?•6 minutes
- Important Questions related to Web Services•7 minutes
- Web Services - Key Terminology•4 minutes
- Introduction to SOAP Web Services•5 minutes
- Introduction to RESTful Web Services•8 minutes
- SOAP Versus RESTful Web Services•2 minutes
1 assignment•Total 15 minutes
- Introduction to Web Services - Assessment•15 minutes
In this module, we will explore the Spring framework step-by-step, focusing on its core functionalities, dependency injection, and module ecosystem. By the end, you will have a solid foundation in Spring, preparing you for more advanced concepts in subsequent modules.
What's included
16 videos1 assignment
16 videos•Total 81 minutes
- Step 01 - Getting Started with Spring Framework - Goals•3 minutes
- Step 02 - Setting Up New Spring Project with Spring Initializr•4 minutes
- Step 03 - Iteration 1 - Building Tightly Coupled GameRunner and MarioGame•8 minutes
- Step 04 - Understanding Tight Coupling•3 minutes
- Step 05 - Iteration 2 - Loose Coupling Level 1 - Interfaces•4 minutes
- Step 06 - Exploring Loose Coupling with Interfaces - Pacman Game•2 minutes
- Step 07 - Iteration 3 - Loose Coupling Level 2 - Spring Framework•9 minutes
- Step 08 - Q1 - Spring Framework - Understanding What's Happening in the Background•10 minutes
- Step 09 - Q2 - Spring Framework - Understanding Important Terminology•8 minutes
- Step 10 - Q3 - Spring Framework - Does Spring Framework Add Value•11 minutes
- Step 11 - Q4 - Spring Framework - Running Super Contra•2 minutes
- Step 12 - Q5 - Spring Framework - Maven•6 minutes
- Step 13 - Exploring Spring Framework Dependency Injection Types•5 minutes
- Step 14 - Exploring Spring Modules•2 minutes
- Step 15 - Exploring Spring Projects•3 minutes
- Step 16 - Getting Started with Spring Framework - Review•1 minute
1 assignment•Total 15 minutes
- Introduction to Spring Framework in 16 Steps - Assessment•15 minutes
In this module, we will introduce Spring Boot, a streamlined approach to building Spring applications. You will learn about its unique features, such as auto-configuration and embedded servers, and start building your first APIs with Spring Boot.
What's included
14 videos1 assignment
14 videos•Total 74 minutes
- Step 01 - Getting Started with Spring Boot - Goals•2 minutes
- Step 02 - Understanding the World Before Spring Boot - 10,000 Feet Overview•3 minutes
- Step 03 - Setting Up New Spring Boot Project with Spring Initializr•7 minutes
- Step 04 - Build a Hello World API with Spring Boot•9 minutes
- Step 05 - Understanding the Goal of Spring Boot•3 minutes
- Step 06 - Understanding Spring Boot Magic - Spring Boot Starter Projects•5 minutes
- Step 07 - Understanding Spring Boot Magic - Autoconfiguration•8 minutes
- Step 08 - Build Faster with Spring Boot DevTools•4 minutes
- Step 09 - Get Production Ready with Spring Boot - 1 - Profiles•7 minutes
- Step 10 - Get Production Ready with Spring Boot - 2 - ConfigurationProperties•8 minutes
- Step 11 - Get Production Ready with Spring Boot - 3 - Embedded Servers•6 minutes
- Step 12 - Get Production-Ready with Spring Boot - 4 - Actuator•8 minutes
- Step 13 - Understanding Spring Boot Versus Spring Versus Spring MVC•4 minutes
- Step 14 - Getting Started with Spring Boot - Review•1 minute
1 assignment•Total 15 minutes
- Introduction to Spring Boot in 14 Steps - Assessment•15 minutes
In this module, we will dive into Maven, a powerful build automation tool used with Java projects. You’ll learn how to set up a Spring Boot application using Maven, explore pom.xml, and understand how Maven builds and manages dependencies. This section also clarifies how versioning works for Spring projects and how to utilize Maven commands effectively.
What's included
9 videos1 assignment
9 videos•Total 49 minutes
- Step 01 - Introduction to Maven•2 minutes
- Step 02 - Creating a Spring Boot Project with Maven•4 minutes
- Step 03 - Exploring Maven pom.xml for Spring Boot Project•9 minutes
- Step 04 - Exploring Maven Parent Pom for Spring Boot Project•7 minutes
- Step 05 - Exploring Maven Further•6 minutes
- Step 06 - Exploring Maven Build Lifecycle with a Spring Boot Project•4 minutes
- Step 07 - How does Maven Work?•8 minutes
- Step 08 - Playing with Maven Commands•4 minutes
- Step 09 - How are Spring Projects Versioned?•6 minutes
1 assignment•Total 15 minutes
- Introduction to Maven - Assessment•15 minutes
In this module, we will introduce Gradle as an alternative to Maven for building Spring Boot projects. You will learn to create a project using Gradle, explore its build files, and understand how plugins enhance Java and Spring Boot integration. We'll wrap up by comparing Maven and Gradle to guide you on choosing the right tool.
What's included
5 videos1 assignment
5 videos•Total 20 minutes
- Step 01 - Getting Started with Gradle•2 minutes
- Step 02 - Creating a Spring Boot Project with Gradle•4 minutes
- Step 03 - Exploring Gradle Build and Settings Files•4 minutes
- Step 04 - Exploring Gradle Plugins for Java and Spring Boot•5 minutes
- Step 05 - Maven or Gradle - Which one to use for Spring Boot Projects?•5 minutes
1 assignment•Total 15 minutes
- Introduction to Gradle - Assessment•15 minutes
In this module, we will delve into SOAP web services, focusing on how to create, configure, and secure them using Spring and Spring Boot. You’ll gain practical experience with WSDL, JAXB, and endpoint configurations, making your services production-ready.
What's included
19 videos1 assignment
19 videos•Total 121 minutes
- SOAP Web Services - An Overview•1 minute
- Step 01 - Initialize a Spring Web Services Application with Spring Boot•4 minutes
- Step 02 - Overview of Creating SOAP Web Service Using Contract First Approach•5 minutes
- Step 03 - Define Request and Response XML Structure•5 minutes
- Step 04 - Define XML Schema Definition (XSD) for Request - GetCourseDetailsReque•8 minutes
- Step 05 - Define XML Schema Definition (XSD) for Response - GetCourseDetailsResp•5 minutes
- Step 06 - More about XML Schema Definition and Implementing XSD Best Practices•4 minutes
- Step 07 - Introduction to Java API for XML Binding (JAXB) and Configuring JAXB 2•9 minutes
- Step 08 - Configuring an Endpoint for GetCourseDetailsRequest•7 minutes
- Step 09 - Spring Web Services Configuration - Message Dispatcher Servlet•6 minutes
- Step 10 - Spring Web Services Configuration - Generating WSDL•9 minutes
- Step 11 - Using Wizdler to Execute SOAP Requests•5 minutes
- Step 12 - Implementing a Service - Course Details Service - Backend with Memo•9 minutes
- Step 13 - Implementing SOAP Web Service for GetAllCourseDetailsRequest•8 minutes
- Step 14 - Quick Introduction to Different Parts of a WSDL•6 minutes
- Step 15 - Implementing SOAP Web Service for DeleteCourseDetailsRequest•3 minutes
- Step 16 - Improving the DeleteCourseDetailsRequest - Using an Enum for Status•7 minutes
- Step 17 - Exception Handling and SOAP Fault Responses•7 minutes
- Step 18 - Implementing Security for SOAP Web Services with WS Security•13 minutes
1 assignment•Total 15 minutes
- SOAP Web Services with Spring and Spring Boot - Assessment•15 minutes
In this module, we will master the creation of RESTful web services. From basic CRUD operations to advanced features like HATEOAS and internationalization, you will build APIs that are robust, scalable, and well-documented.
What's included
27 videos1 assignment
27 videos•Total 207 minutes
- Step 00 - Creating a REST API with Spring Boot - An Overview•4 minutes
- Step 01 - Initializing a REST API Project with Spring Boot•7 minutes
- Step 02 - Creating a Hello World REST API with Spring Boot•6 minutes
- Step 03 - Enhancing the Hello World REST API to Return a Bean•5 minutes
- Step 04 - What's Happening in the Background? Spring Boot Starters and Autoconfign•9 minutes
- Step 05 - Enhancing the Hello World REST API with a Path Variable•4 minutes
- Step 06 - Designing the REST API for Social Media Application•8 minutes
- Step 07 - Creating User Bean and UserDaoService•7 minutes
- Step 08 - Implementing GET Methods for User Resource•8 minutes
- Step 09 - Implementing POST Method to Create User Resource•9 minutes
- Step 10 - Enhancing POST Method to return correct HTTP Status Code and Location•11 minutes
- Step 11 - Implementing Exception Handling - 404 Resource Not Found•8 minutes
- Step 12 - Implementing Generic Exception Handling for All Resources•11 minutes
- Step 13 - Implementing DELETE Method to Delete a User Resource•3 minutes
- Step 14 - Implementing Validations for REST API•12 minutes
- Step 15 - Overview of Advanced REST API Features•1 minute
- Step 16 - Understanding Open API Specification and Swagger•5 minutes
- Step 17 - Configuring Auto-Generation of Swagger Documentation•10 minutes
- Step 18 - Exploring Content Negotiation - Implementing Support for XML•6 minutes
- Step 19 - Exploring Internationalization for REST API•10 minutes
- Step 20 - Versioning REST API - URI Versioning•9 minutes
- Step 21 - Versioning REST API - Request Param, Header, and Content Negotiation•11 minutes
- Step 22 - Implementing HATEOAS for REST API•11 minutes
- Step 23 - Implementing Static Filtering for REST API•10 minutes
- Step 24 - Implementing Dynamic Filtering for REST API•9 minutes
- Step 25 - Monitoring APIs with Spring Boot Actuator•7 minutes
- Step 26 - Exploring APIs with Spring Boot HAL Explorer•5 minutes
1 assignment•Total 15 minutes
- RESTful Web Services with Spring and Spring Boot - Assessment•15 minutes
In this module, we will explore Java Persistence API (JPA) and Hibernate, focusing on their integration with Spring Boot. You’ll learn to interact with databases, manage entities, and harness the full power of JPA for data persistence.
What's included
12 videos1 assignment
12 videos•Total 74 minutes
- Step 01 - Getting Started with JPA and Hibernate - Goals•1 minute
- Step 02 - Setting Up New Spring Boot Project for JPA and Hibernate•7 minutes
- Step 03 - Launching Up H2 Console and Creating Course Table in H2•7 minutes
- Step 04 - Getting Started with Spring JDBC•4 minutes
- Step 05 - Inserting Hardcoded Data Using Spring JDBC•8 minutes
- Step 06 - Inserting and Deleting Data Using Spring JDBC•9 minutes
- Step 07 - Querying Data Using Spring JDBC•6 minutes
- Step 08 - Getting Started with JPA and EntityManager•12 minutes
- Step 09 - Exploring the Magic of JPA•3 minutes
- Step 10 - Getting Started with Spring Data JPA•6 minutes
- Step 11 - Exploring Features of Spring Data JPA•5 minutes
- Step 12 - Understanding Difference Between Hibernate and JPA•5 minutes
1 assignment•Total 15 minutes
- Introduction to JPA in 12 Steps - Assessment•15 minutes
In this module, we will connect RESTful APIs to JPA for dynamic and persistent data handling. You’ll learn how to manage entity relationships and implement security features, ensuring a seamless and secure user experience.
What's included
12 videos1 assignment
12 videos•Total 79 minutes
- Step 27 - Connecting REST API to H2 Using JPA and Hibernate - An Overview•1 minute
- Step 28 - Creating User Entity and Some Test Data•5 minutes
- Step 29 - Enhancing REST API to Connect to H2 Using JPA and Hibernate•11 minutes
- Step 30 - Creating Post Entity with Many-to-One Relationship with User Entity•10 minutes
- Step 31 - Implementing a GET API to Retrieve All Posts of a User•3 minutes
- Step 32 - Implementing a POST API to Create a Post for a User•6 minutes
- Step 33 - Exploring JPA and Hibernate Queries for REST API•7 minutes
- Step 34 - Connecting REST API to MySQL Database - An Overview•1 minute
- Step 34z - Optional - Installing Docker•4 minutes
- Step 35 - Optional - Connecting REST API to MySQL Database - Implementation•15 minutes
- Step 36 - Implementing Basic Authentication with Spring Security•5 minutes
- Step 37 - Enhancing Spring Security Configuration for Basic Authentication•9 minutes
1 assignment•Total 15 minutes
- Connecting RESTful Web Service to JPA - Assessment•15 minutes
In this module, we will cover industry best practices for RESTful web services. Using the Richardson Maturity Model as a guide, you will learn techniques to enhance API design and ensure long-term reliability.
What's included
2 videos1 assignment
2 videos•Total 7 minutes
- Richardson Maturity Model•3 minutes
- RESTful Web Services - Best Practices•3 minutes
1 assignment•Total 15 minutes
- RESTful Web Services - Best Practices - Assessment•15 minutes
In this module, we will conclude the course by reflecting on your journey and achievements. You’ll receive guidance on how to continue improving and apply your new skills in professional scenarios.
What's included
1 video
1 video•Total 1 minute
- Congratulations•1 minute
In this module, we will review new Java features in a Q&A format to reinforce learning. We'll explore how Java has progressed in recent releases, why these changes matter, and highlight the most important enhancements across versions. This appendix serves as a quick refresher for modern Java development.
What's included
4 videos1 assignment
4 videos•Total 31 minutes
- Quick Review - Java New Features•1 minute
- How is Java Marching Forward•6 minutes
- Primary Goals Behind Recent Java Release•6 minutes
- Important Java Versions and Most Important Features•18 minutes
1 assignment•Total 15 minutes
- APPENDIX - Java New Features - A Quick Review using Q&A Format - Assessment•15 minutes
In this module, we will introduce functional programming, focusing on its application in Java. Through concise lessons and hands-on exercises, you will enhance your programming skills and discover new ways to write efficient, elegant code.
What's included
9 videos2 assignments
9 videos•Total 49 minutes
- Step 00 - Introduction to Functional Programming - Overview•1 minute
- Step 01 - Getting Started with Functional Programming with Java•6 minutes
- Step 02 - Writing Your First Java Functional Program•6 minutes
- Step 03 - Improving Java Functional Program with Filter•8 minutes
- Step 04 - Using Lambda Expression to Enhance Your Functional Program•5 minutes
- Step 05 - Do Functional Programming Exercises with Streams, Filters, and Lambdas•6 minutes
- Step 06 - Using Map in Functional Programs - with Exercises•6 minutes
- Step 07 - Understanding Optional Class in Java•7 minutes
- Step 08 - Quick Review of Functional Programming Basics•3 minutes
2 assignments•Total 75 minutes
- Appendix - Introduction to Functional Programming in 30 Minutes - Assessment•15 minutes
- Full Course Assessment•60 minutes
Instructor
Explore more from Software Development
- Status: Free Trial
Course
- Status: Free Trial
- Status: Free Trial
Course
- Status: Free Trial
Specialization
Why people choose Coursera for their career
Frequently asked questions
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.
More questions
Financial aid available,
