Build RESTFUL APIs using Kotlin and Spring Boot (Udemy.com)
A complete hands on approach to learn the Kotlin language and build Restful APIs using Kotlin SpringBoot.
Created by: Pragmatic Code School
Last updated February 2026
Our take
Based on the ratings of 1,485 students, a sample of their written reviews and the syllabus, as the course stood in February 2026. No course pays to be reviewed.
Pragmatic Code School's course is aimed squarely at Java developers who already know Spring Boot. It spends roughly the first half on Kotlin basics: classes, null handling, collections, lambdas and scope functions. The second half builds a course catalog REST service with Spring Data JPA, validation, Postgres and TestContainers tests. It runs about 8.4 hours across 93 lectures, and over 10,000 students have enrolled. The requirements are real: Java, Spring Boot and Maven or Gradle experience are all expected.
Reviewers like the calm, concise teaching and how quickly the fundamentals go by. One called the first half short, fast-moving code walk-throughs, and a developer with one week to prepare for a senior role was glad to have picked it. About 87 percent of the ratings are four or five stars. The complaints are consistent. More than half the course is Kotlin rather than APIs, and one reviewer wants it split, with coroutines added. Others call it basic on internals, note the lack of JWT security and Swagger docs, and say the IntelliJ and Kotlin versions have moved on.
At 8.4 hours this is a quick way in, not a deep one. The last update was February 2026, yet recent reviewers still hit version trouble, so expect to adjust the setup. One reviewer also mentions a misleading assignment and a final section that shows code students never wrote. Recommended for Java developers who want Kotlin habits and a tested Spring example fast. Anyone new to Spring should start elsewhere.
Pros
- Kotlin fundamentals move fast, so Java developers reach the Spring Boot build in about half the course
- Covers testing properly: JUnit5, Mockk, @DataJpaTest and TestContainers against Postgres
- Calm, concise explanations that reviewers call simple and to the point
- Source code and slides are provided, so students can code along or compare
Cons
- More than half the runtime is Kotlin basics, so the REST API part is thinner than the title suggests
- Reviewers report older IntelliJ and Kotlin versions, and some struggled to get the setup working
- No JWT security, Swagger docs or coroutines, and some find the treatment basic on internals
Great course with good examples, concise and to the point! I had one week to Upskill my knowledge of Kotlin and SpringBoot (already familiar with SpringBoot), before starting at a new position as a Senior Developer.
Listed as All Levels, but it needs working Java, Spring Boot and Maven or Gradle experience first.
What you will learn
- Kotlin Programming Language and its benefits
- Write Code using Kotlin Programming Language
- Building Applications using Kotlin
- Build RestFul Services using SpringBoot and Kotlin
- Test Kotlin using JUnit5
- Kotlin and Java Interoperability
- Integrate Spring Data JPA with Kotlin
- Integration testing DB Layer using TestContainers & JUnit5
- Unit Testing Functions calls using Mockk Library
Course content
21 sections · 93 lectures · 8.4 hours of video 4 assignments, 2 articles
- 1Getting Started with the Course 2 free previews2 lectures · 3 min
- 2Course Slides & Source Code2 lectures
- 3Getting Started with Kotlin Programming Language 2 free previews2 lectures · 7 min
- 4Kotlin Fundamentals8 lectures · 39 min
- 5Functions in Kotlin3 lectures · 21 min
- 6Classes, Interfaces and Inheritance16 lectures · 1 quiz · 1.3 hours
- 7Nulls in Kotlin3 lectures · 19 min
- 8Collections, Arrays & Lamda Expressions9 lectures · 1.2 hours
- 9Exceptions In Kotlin1 lecture · 7 min
- 10Scope Functions4 lectures · 27 min
- 11Getting Started with Kotlin and Spring Boot5 lectures · 24 min
- 12Integration/Unit Testing using Junit53 lectures · 19 min
- 13Build the Course Catalog Service9 lectures · 56 min
- 14Unit Testing Controller layer (Web Tier)5 lectures · 13 min
- 15Bean Validation using Validators and ControllerAdvice3 lectures · 18 min
- 16Custom JPA queries using Spring Data JPA and DB Layer testing using @DataJpaTest3 lectures · 15 min
- 17GET Endpoint to retrieve Courses By Name using @RequestParam2 lectures · 6 min
- 18Entity RelationShips using Spring Data JPA6 lectures · 3 quizzes · 31 min
- 19Integrating with Postgres DB2 lectures · 16 min
- 20Integration Testing using TestContainers2 lectures · 13 min
- 21Java & Kotlin Interoperability3 lectures · 18 min
Who it is for
The instructor says it suits
- Developers who are interested in learning Kotlin Programming language
- Developers who are interested in building applications using Kotlin and SpringBoot
- Java developers who would like to learn Kotlin Programming Language
What you need before you start
- Java 11 or Higher is Required
- Experience working with any IDE( Intellij, Eclipse)
- Experience working with Java
- Experience building application using SpringBoot
- Gradle or Maven Build tool Experience is must
How it compares
Against the other 28 rated Udemy courses in Kotlin on CourseDuck:
- Rating4.4 out of 5higher than 25% of them
- Reviews1,485#9 of 29 by number of reviews
- Length8.4 hoursshorter than 60% of them
- Last updatedFebruary 2026more recently than 85% of them
Course Description
Kotlin is the Modern, concise and safe programming language and is one of the popular JVM language in this day and age.
It’s also interoperable with Java and other languages, and provides many ways to reuse code between multiple platforms for productive programming.
This course will focus on using Kotlin for Server-Side Development using SpringBoot framework. This is a pure hands-on oriented course which covers these two topics:
Covers Kotlin Fundamentals thats necessary for Java Developers
Build RestFul APIs using SpringBoot and Kotlin
Section 1: Getting Started With the Course
This section covers the course objectives and the prerequisites that are needed to make the most out of this course.
Section 2: Getting Started with Kotlin Programming Language
In this section, I will introduce you to Kotlin Programming Language and why its a powerful language for enterprise development.
Introduction to Kotlin
How Kotlin Works with the JVM?
Section 3: Kotlin Fundamentals
In this section, we will explore the fundamentals of Kotlin.
val & var variables in Kotlin
Basic Types - Int, Long, Double, String
Conditionals - If and when block
Ranges , Loops
while & do-While
break, labels and return
Section 4: Functions in Kotlin
In this section, we will learn about functions in Kotlin and different ways of declaring and using them
Defining and Invoking Functions
Default Value Parameters & Named Arguments
Top-Level Functions and Top-level Properties
Section 5: Classes, Interfaces and Inheritance
In this section, we will learn about classes, inheritance and interfaces in detail.
Introduction to class - Creating a class and objects
Primary Constructors
Secondary Constructors
initializer code using init block
Data Classes
Custom Getters and Setters
Inheritance - Extending Classes
Inheritance - Override Functions, Variables
object keyword for creating instance of the class
companion object Keyword
Interfaces
Interfaces - Handling Conflicting Functions
Interfaces - Defining and Overrding Variables
Visibility Modifiers
Type Checking, Casting and Smart Cast
Enum class
Section 6: Nulls in Kotlin
In this section, we will learn about handling nulls in Kotlin
Nullable & Non-Nullable types in Kotlin
Safe Call(?) , Elvis Operator(?:) & Non Null Assertion(!!) to deal with Null Values
Invoking or assigning a Nullable Type to a Non-Nullable Type
Section 7: Collections, Arrays & Lamda Expressions
In this section, I will introduce you to collections, arrays and lambda expressions in Kotlin
Introduction to Collections
Introduction to Lamda Expressions
Lambdas and Higher Order Functions
Filter Operations on Kotlin Collections
Map Operations on Kotlin Collections
FlatMap Operations in Collections
Working With HashMaps
Lazy Evaluation of Collections using Sequences
Nullability in Collections
Section 8 : Exceptions In Kotlin
In this section, I will cover the exceptions in kotlin and the techniques to handle them.
Handling Exceptions using try-catch
Section 9 : Scope Functions
In this section, I will introduce you all to scope functions in Kotlin and its usage.
Introduction to Scope Functions
apply & also Scope Function
let Scope Function
with & run Scope Function
Section 10 : Getting Started with Kotlin and Spring Boot
In this section, I will explain the overview of the app we are going to build and build a very simple API.
Overview of the app & Project Setup
Build a Simple Endpoint - Greeting Controller
Constructor Injection in Spring
Setting up different profiles in Spring Boot
Set up Logging in Kotlin
Section 11 : Integration/Unit Testing using Junit 5
In this section, I will code and explain about the techniques to write different types of test cases using spring boot and Kotlin.
Introduction to Automated Tests & Setting up JUnit5
Integration Test for Controller
Unit Test for Controller - Using the Mockk Mocking library
Section 12 : Build the Course Catalog Service
In this section, we will build the Course Catalog Service to manage the Courses
Set up the Course Entity & CourseDTO
Create CourseRepository & Configure JPA in application.yml file
Build the POST Endpoint for adding new Course I
ntegration test for the POST endpoint using JUnit5
Build the Get Endpoint to retrieve all Courses
Integration test for the GET endpoint to retrieve all the courses
Build the Update Endpoint to update a Course
Integration test for the PUT endpoint using JUnit5
Build the DELETE endpoint to delete a Course
Section 13: Unit Testing Controller layer (Web Tier)
In this section, we will code and learn about how to write unit tests for the controller
Setting up the Unit Test for the CourseController
Unit test for the Post Endpoint in CourseController
Unit test for the GET Endpoint in CourseController
Unit test for the PUT Endpoint in CourseController
Unit test for the DELETE Endpoint in CourseController
Section 14 : Bean Validation using Validators and ControllerAdvice
In this section, we will code and learn the different techniques to apply bean validations and handle exceptions using the ControllerAdvice Pattern
Instructor Details
- 4.4 Rating
1,485 Reviews
Pragmatic Code School
Pragmatic code school's primary goal is to provide technical training through a practical approach.
The courses are completely hands-on oriented and cover different techniques and patterns that are used in enterprise development standards
Each course explains the concepts by building applications which will give an experience of building a real enterprise application.
-------------------------
COURSES ROADMAP: |
-------------------------
Course roadmap to enroll in the Kafka Courses.
For Experienced Kafka Developers:
1. Apache Kafka for Developers using Spring Boot[LatestEdition]
2. Kafka Streams API For Developers using Java/SpringBoot 3.X
3. Kafka for Developers - Data Contracts using Schema Registry
For Kafka Beginners:
1. Apache Kafka for Beginners - Learn Kafka by Hands-On
2. Apache Kafka for Developers using Spring Boot[LatestEdition]
3. Kafka Streams API For Developers using Java/SpringBoot 3.X
4. Kafka for Developers - Data Contracts using Schema Registry
Course roadmap to enroll in the Modern Java Courses.
1. Modern Java - Learn Java 8 features by coding it
2. Multithreading,Parallel & Asynchronous Coding in Modern Java
More courses by Pragmatic Code School
Modern Java: Mastering Features from Java 8 to Java 25 (2026)
4.5 (15,647 Reviews)
Provider: Udemy
Time: 15.8h
$12.99
Kafka MicroServices with Spring Boot, Docker, Kubernetes, AI (2026)
4.7 (6,864 Reviews)
Provider: Udemy
Time: 27.2h
$11.99
Build Reactive MicroServices using Spring WebFlux/SpringBoot (2026)
4.3 (6,140 Reviews)
Provider: Udemy
Time: 8.4h
$10.99
Apache Kafka for Beginners - Learn Kafka by Hands-On (2026)
4.6 (1,261 Reviews)
Provider: Udemy
Time: 4.9h
$11.99
More Kotlin courses
Complete Kotlin development masterclass (2026)
4.8 (3,181 Reviews)
Provider: Udemy
Time: 30.9h
$84.99
Kotlin for Android: Beginner to Advanced (2018)
4.7 (3,227 Reviews)
Provider: Udemy
Time: 22.9h
$74.99
Kotlin for Beginners: Learn Programming With Kotlin (2021)
4.6 (4,911 Reviews)
Provider: Udemy
Time: 6.6h
$74.99
The Essential Kotlin Programming Course (Android Developers) (2020)
4.6 (808 Reviews)
Provider: Udemy
Time: 23.2h
$12.99
Introduction to Kotlin for Java Developers (2017)
4.6 (670 Reviews)
Provider: Udemy
Time: 4.9h
$49.99
Complete Kotlin Design Patterns masterclass (2026)
4.6 (611 Reviews)
Provider: Udemy
Time: 4.1h
$84.99
Reviews
By Kushal Karamchandani on 2/22/2026
very informative. A lot of the code was already available from the zip file. For me personally, it was more fun to code along and take some time getting familiar with the codebase rather than just having a few coding assignments. I noticed in one instance a student had written a course adding function in an integration unit test, indicating that maybe not everyone is working along 100%
By Joseph Sterling Grah on 9/18/2025
Great course with good examples, concise and to the point! I had one week to Upskill my knowledge of Kotlin and SpringBoot (already familiar with SpringBoot), before starting at a new position as a Senior Developer. And I am glad I chose this course! Thank You
By Samuel Tavares Da Silva on 4/15/2025
The course starts with the fundamentals without spending too much time on them. It delivers a lot of valuable information, including not only abstract concepts but also a complete, real-world example with all the necessary support and resources to grasp the most important topics.
By Anonymized User on 1/9/2025
Overall, the review was positive. However, it could be enhanced by including a dedicated section for setting up PostgreSQL on macOS for users not using Docker. Additionally, providing a basic tutorial on Docker would be beneficial, enabling users to proceed with the setup more confidently.
By ALEXANDRE A BARBOSA on 3/27/2024
Dilip is absolutely fantastic! His ability to delivery key information precisely when needed, catering to various skills levels and technologies, truly impressived me. I am eargely antecipating his next advanced Kotlin + Spring Boot course. With Dilip's extensive experience, evident throughout this course, I wouldn't hesitate to choose his instruction again.
By Mikko Luhtasaari on 3/12/2024
Goes through the basics but at times there seems to be a weird focus on irrelevant details and that makes it difficult to focus on the relevant stuff. You'll get the same knowledge from a couple of getting started tutorials from the official docs.
By Peter Anyaduba on 6/22/2023
My IntelliJ is IntelliJ IDEA 2023.1.2 (Community Edition) Build #IC-231.9011.34, built on May 16, 2023 Runtime version: 17.0.6+10-b829.9 aarch64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. My System is macOS 12.3 GC: G1 Young Generation, G1 Old Generation Memory: 16GB Cores: 10 Metal Rendering is ON Kotlin: 231-1.8.21-IJ9011.34 I was able to scale through even though my IntelliJ was slightly ahead of the trainer's IntelliJ. I didn't find it difficult to follow.
By Amit Siwach on 4/20/2023
They Try to covered all impotent topics within minimum time... this course is ok for those who have good experience in Java, SpringBoot, JPA, Docker, Junit5. Some Topics they try to finish very quickly .... Thats Why we have to give more time to understand clearly...overall it will give you confidence after completing successfully to develop first Rest api In Kotlin. Go for it But don't expect much from this course.
By M. H. on 2/25/2023
The course was really helpful especially the spring content. The instructor, Dilip, is really good at explaining the topics. He is really committed to his course and in helping someone out if there are any problems with the understanding of topics or if you have any additional questions. Here and there are some minor issues but that doesn't really matter. It's definitly worth it's price.
By N A on 8/4/2022
The Good: - clear explanations - covers pretty much everything I needed for working generally with spring boot. - covers the whole dev for an app - dev + testing (unit + ITTest) - definitely excellent for those that come from a java + spring boot background - might be tricky for those that dont. - great demonstration for how spring boot and kotlin can be used together. Bad: - the only thing i can think off is that not every kotlin feature is covered
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 88 / 100










