inflearn logo

[Revised 2023-11-27] Developing RESTful Web Services using Spring Boot 3.x

This course covers the process of developing a RESTful Web Services application using Spring Boot, and you can learn the basic knowledge required for designing a REST API.

(4.8) 478 reviews

5,015 learners

Level Basic

Course period Unlimited

Spring Boot
Spring Boot
REST API
REST API
Spring Boot
Spring Boot
REST API
REST API

News

8 articles

  • kenneth님의 프로필 이미지

    Hello. We’ve added a new supplemental lecture to the Practical LLM Service Development for Spring Developers (Part 1) course. In this approximately one-hour lecture, you’ll learn how to integrate TypeSafe AI’s recently released decision model, Jev, into a Spring Boot application.

    Why was it added?
    In Section 4, we covered how to use entity() to receive an LLM response as a Java object, as well as the practical pitfall of parsing breaking when the model wraps JSON in code fences. Whether you ask through a prompt or automate it with entity(), the limitation remains that you are ultimately "asking" the LLM to follow a particular format.
    Jev takes a different approach. Instead of writing text, it chooses an answer from a predefined set of options and returns it along with its probability. In other words, the format is structurally guaranteed. Processing the same input in both ways makes it much clearer what to consider when designing "structured output." That is why we organized this content as an extension of Section 4.

    What will you learn?

    1. The Concept of Jev and System One Models: What It Means to Return a “Typed Decision” Instead of Text

    2. The difference between LLMs and Jev: descriptive answers vs. multiple-choice answers, and what each does well and poorly

    3. Three question types (choice · score · noul) and the /v1/systemone request structure

    4. Calling from Spring: Call the Jev API with RestClient and use a Java enum to create choices and convert the response in a type-safe manner.

    5. Comparison demonstration: Analyze the same movie review using entity() and Jev, then compare speed, format errors, confidence, and consistency.

    Updated materials included

    • Section 4 Example Code (ch4): Two Review Analysis APIs (/api/movies/review/llm, /api/movies/review/jev) and the Addition of JevClient

    • Supplementary lecture slides and course materials

    • Comparison test scripts: review-compare.sh for macOS and review-compare.ps1 for Windows

    Things to know in advance

    • Jev is not a feature of Spring AI, but rather a separate external service provided by TypeSafe AI. In the course, it is called directly using Spring AI's RestClient, not its ChatClient.

    • Jev is currently in the early access stage, so there may be a wait to obtain an API key. Jev is disabled by default in the example code (jev.enabled=false), so you can proceed with the existing exercises as usual even without a key. If you don't have a key, watch the demonstration in the video and follow along with a focus on the concepts and code.

    • As this service has just been launched, its pricing or API may change later. If any changes occur, we will notify you again through a new announcement.

    📌 Go directly to the course: https://inf.run/VVpnV

    If you have any questions while taking the newly added lessons or get stuck during the hands-on exercises, feel free to leave a comment. We’ll continue to regularly add content that you can use right away in your work.

    0
  • kenneth님의 프로필 이미지

    Hello, I’m Lee Do-won.


    "I’ve created Jenkins pipelines, but I’ve only heard of ArgoCD and GitOps as concepts."

    "I’m at a loss as to how to design deployments for each dev, staging, and production environment."


    For those facing these challenges, we have opened the “Practical GitOps CI/CD with Jenkins and ArgoCD” course on Inflearn.


    Here’s what sets this course apart


    • Beyond traditional Jenkins-based CI/CD, we also cover ArgoCD-based GitOps.

    • We directly compare the Push (Jenkins) and Pull (ArgoCD) approaches on the same cluster. When someone makes a manual change with kubectl, you can see firsthand how one remains unchanged while the other automatically recovers, and experience the differences in how rollbacks and deployment histories are reviewed.

    • Combine the two approaches to build a hybrid deployment pipeline from start to finish, with Jenkins Push for dev·staging and ArgoCD Pull (manual Sync approval) for production.

    • You will practice essential deployment techniques needed for operations, including canary deployments, blue-green deployments, RBAC, approval procedures, incident response, and automatic rollbacks.


    Practice Environment

    We’ll proceed using just Docker Desktop. It works on both Windows and macOS, and you don’t need a cloud account such as AWS or any additional fees.


    Recommended for


    • Backend and infrastructure engineers who have used Jenkins but are new to ArgoCD/GitOps

    • Those who want to move Kubernetes deployments from manual kubectl apply to automation

    • DevOps and SRE professionals concerned with operational requirements such as deployment approvals, rollbacks, and audit trails


    The total runtime is approximately 10–11 hours, and hands-on materials and a troubleshooting guide are also included.


    👉 View the course: https://inf.run/dEjZE

    If you have any questions, feel free to leave them in the comments or in the course Q&A!

    0
  • kenneth님의 프로필 이미지

    We have newly launched the Practical LLM Service Development for Spring Developers (Part 1) course. Although it may feel a little overdue, this course covers what you need to learn to develop LLM applications using the Spring framework, which is familiar to Java developers. We hope you will take a great interest in it.


    Why did I create this course?

    These days, keywords like RAG, vector search, and AI agents can be found everywhere, but there aren’t many resources that address, at a practical level, “how to integrate them with a Spring Boot backend.”

    This course incorporates into its curriculum the problems I encountered while debugging an actual RAG recommendation endpoint—including how chunking documents by token broke their semantic units and degraded search quality, and how I solved the problem by switching to paragraph-based chunking. Rather than simply showing you the correct code like a tutorial, we’ll follow along together to understand “why it doesn’t work → how to diagnose it → how to fix it.”


    Recommended for the following people

    • Backend developers with Spring Boot experience who are new to developing LLM/AI services

    • Developers who want to apply RAG and vector search at the level of real-world projects, not just tutorials

    • Professionals who need to directly implement internal AI features (chatbots, document search, recommendations, etc.) using Spring.

    Experience creating REST APIs with Spring Boot is all you need. No prior knowledge of AI/LLMs is required.


    What will you learn?

    1. Spring AI Core Fundamentals Basic usage of ChatClient, structured output, and streaming response implementation

    2. Building a RAG Pipeline Vector store integration, comparison of document chunking strategies and hands-on troubleshooting, search quality improvement, and prompt design

    3. Tool and Multimodal Expansion Integrating external tools using MCP (Model Context Protocol), processing multimodal inputs such as images, and integrating with Dify

    4. Service Stabilization and Real-World Projects Applying guardrails, designing reliable services, and a mini project that integrates everything you have learned so far

    The appendix also covers how to use AI coding tools and Ollama.


    Series Guide

    This release is Part 1 of the full series. Parts 2 and 3 will cover more advanced architectures and real-world cases, and once the entire series is released, we plan to offer a discount on the full package.


    📌 Go to the course: https://inf.run/VVpnV

    Feel free to leave any questions or inquiries about the curriculum in the comments. Through Part 1, I hope to take the first step with you toward integrating an LLM into your Spring service.

    0
  • kenneth님의 프로필 이미지

    Hello, this is Lee Do-won.

    This time, the lecture "RESTful Web Services Development using Spring Boot" has been updated.

    I have prepared the lecture again by changing the example that was previously written in Spring Boot 2.x version to Spring Boot 3.1.x version.

    1. This covers the process of developing a RESTful API using Spring Boot version 3.1.

    2. The examples covered in the lecture have been upgraded to Spring Boot 3.1 version.

    3. The Spring Security examples have been updated to match the new version.

    4. The Swagger Documentation section is introduced so that it can be used in accordance with the existing Spring Boot 2.7 and Spring Boot 3.1.

      • Spring Boot 2.7 + springfox 3.0

      • Spring Boot 3.1 + springdoc (OAS 3.0)

    5. We have re-produced the recorded lecture audio that many students mentioned in previous lectures so that you can listen to it without any inconvenience.

     

    We hope you will also show great interest in the newly updated lectures.

    I will come back with better lectures in the future.

    thank you

     

     

    10
  • kenneth님의 프로필 이미지

    Hello, this is Lee Do-won.

    It seems like the coronavirus situation is calming down little by little, and we are returning to normal social life.

    Summer 2022 is starting. It seems like the rainy season is starting, so it's hard to see clear skies.

    I have nothing to say except that I apologize to those who have been waiting for the follow-up lecture of " Developing Microservice Applications (MSA) with Spring Cloud ". The lecture, which was originally scheduled to open in January, was postponed to February and March due to issues with the project I was working on, and it has not been opened yet... But... I am in the final stages of preparation to open it very soon!

    The next lecture is scheduled to be about CI/CD. Today, I would like to first introduce the table of contents for the CI/CD lecture.

    The lecture is divided into 6 or 7 sections in total. Depending on whether you include an appendix in the lecture or not, it will likely be divided into 6 or 7 sections.

    Section 1. DevOps and CI/CD

    1-1. DevOps and CI/CD

    1-2. CI/CD Workflow

    1-3. Install Jenkins

    1-4. Exercise #1

     

    Section 2. Using CI/CD with Jenkins

    2-1. Git & Maven integration for CI/CD

    2-2. Exercise #2

    2-3. Tomcat Server Integration for CI/CD

    2-4. Exercise #3

    2-5. PollSCM settings

    2-6. Setting up a practice environment using Docker

    2-7. Exercise #4

     

    Section 3. Jenkins + Infrastructure as Code (Configuration Management using Ansible)

    3-1. IaC

    3-2. Ansible Overview

    3-3. Ansible Installation

    3-4. Ansible Playbook

    3-5. Exercise #5

    3-6. Deploying Docker images

    3-7. Exercise #6

     

    Section 4. Jenkins + Ansible + Kubernetes Integration

    4-1. Deploying to Kubernetes Cluster

    4-2. Ansible + Kubernetes integration

    4-3. Exercise #7

    4-4. CI/CD Process

    4-5. Exercise #8

    4-6. Installing Minikube (Apple Silicon chip)

     

    Section 5. Using Advanced Jenkins

    5-1. Using Delivery Pipeline

    5-2. Jenkins Pipeline Configuration

    5-3. Exercise #9

    5-4. Exercise #10

    5-5. Practices

    5-6. SonarQube static analysis

     

    Section 6. Deploying to the Public Cloud

    6-1. Creating an AWS EC2 instance and installing Docker

    6-2. Deploying to AWS

    6-3. Configuring Kubernetes Cluster using Kops

    6-4. Creating an NCP server instance and installing Docker

    6-5. Distribution to NCP

     

    Appendix

    A-1. Install required SW

    A-2. Tomcat Server Installation

    A-3. SSH Server

    A-4. Installing XShell, MobaXterm for Windows users

    A-5. Installing Terminus for MacOS Users

     

    I would like to once again express my gratitude to those who have shown interest in the lecture, and I will return with a better lecture soon.

    thank you

     

    0
  • kenneth님의 프로필 이미지

    Hello, this is Lee Do-won.

    In the lecture "Building a CI/CD Pipeline Using Jenkins", we will cover the following:

    Section 1. DevOps and CI/CD

    1. DevOps and CI/CD

    2. CI/CD Workflow

    3. Install required SW

    4. Install Jenkins

    Section 2. Using CI/CD with Jenkins

    5. Git & Maven integration for CI

    6. Tomcat Server Integration for CD

    7. Docker integration for CD

    Section 3. Configuration Management using Ansible

    8. Ansible Overview

    9. Using Ansible

    10. Ansible Playbook

    11. Registering Docker images via Playbook

    Section 4. Jenkins + Ansible + Kubernetes Integration

    12. Deploy to Kubernetes Cluster

    13. Ansible + Kubernetes integration

    Section 5. Using Jenkins Pipeline

    14. Using Delivery Pipeline

    15. Configuring Jenkins Pipeline

    Appendix

    1. Install Minikube for Apple M1 users

    2. Create AWS EC2 instance and install Docker

    3. Install XShell, MobaXterm for Windows users

    4. Installing Terminus for MacOS users

    5. Configuring Kubernetes Cluster using Kops

     

    We ask for your continued interest and support.

    The weather is getting a little chilly. I hope you all take care of yourselves and stay healthy.

    thank you

     

    5
  • kenneth님의 프로필 이미지

    Hello, this is Lee Do-won.

    First of all, I would like to express my gratitude to all those who showed interest in the lecture.

    I planned to organize the lecture on microservices using Spring Boot and Spring Cloud in line with the four components of Cloud Native discussed in CNCF.

    - Container virtualization

    - Microservices

    - CI/CD

    - DevOps

    We have started the lectures "Developing RESTful Web Services using Spring Boot" and "Developing Microservice Applications with Spring Cloud", and we are planning to cover the topics that were not covered in the lectures, such as MSA Architecture, Pattern, Service Mesh, and CI/CD, in follow-up lectures. And we are planning to update the lecture "Developing RESTful Web Services using Spring Boot" again to reflect the newly updated libraries.

    As you mentioned, we plan to open follow-up lectures in the following order. The opening date of the lectures is being postponed due to overlapping with other work, but our goal is to open them this year.

    1. CI/CD (August)

    2. MSA Architecture + Pattern + Service Mesh (September - October)

    3. WebFlux (~December)

    It's a tough time with the hot weather and the coronavirus, but I hope everyone stays healthy and achieves what they want to do.

    thank you

    3
  • kenneth님의 프로필 이미지

    Hello, this is Lee Do-won.

    It's been almost a year since I started the course " RESTful Web Service Development using Spring Boot ". I would like to once again express my gratitude to those who took the course.

    The original plan was to open the follow-up lecture, " Developing Microservices with Spring Cloud " right away, but it was postponed due to various circumstances and is now finally opening.

    "Developing Microservices with Spring Cloud" covers the following topics, and the lecture recording has been completed and submitted to Inflearn.

    The entire lecture time for " RESTful Web Service Development using Spring Boot " was about 7 hours, but this " Developing Microservices with Spring Cloud " has already exceeded 27 hours, even though the recording has not yet been completed. Therefore, the lecture was divided into two parts, and it seems that the parts that were not covered will have to be covered in follow-up lectures.

    It is currently waiting to open in March 2021, and is supplementing what was previously planned to cover the following content.

    As I mentioned, the entire lecture will be divided into two parts and will cover a total of 17 sections.

    PART I
    Section 0. Introduction to Microservices and Spring Cloud
    Section 1. Service Discovery
    Section 2. API Gateway Service
    Section 3. E-commerce Applications
    Section 4. Users Microservice ➀
    Section 5. Catalogs and Orders Microservice
    Section 6. Users Microservice ➁
    Section 7. Configuration Service
    Section 8. Spring Cloud Bus

    PART II
    Section 9. Encryption of configuration information
    Section 10. Inter-microservice communication
    Section 11. Using Apache Kafka for Data Synchronization ①
    Section 12. Using Apache Kafka for Data Synchronization ②
    Section 13. Fault Handling and Microservice Distributed Tracing
    Section 14. Microservice Monitoring
    Section 15. Container Virtualization for Application Deployment
    Section 16. Deploying the Application - Docker Container
    Appendix: Microservice Architecture Pattern

    I would like to once again thank all the students who showed interest, and I will come back with a new lecture.

    thank you

    5

$23.10