# Tutorial: Build a Spring Boot REST API

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/help/idea/2026.3/llms.txt).

In this tutorial, you will build a photo-sharing REST API with [Spring Boot](https://spring.io/projects/spring-boot) in IntelliJ IDEA.

You will learn how to:

1.  [Create and run a Spring Boot project](spring-boot-tutorial-create-project.html) with Spring Initializr in IntelliJ IDEA, and add a controller that responds in the browser.

2.  [Add REST endpoints](spring-boot-tutorial-rest-endpoints.html) that handle GET and DELETE requests and return JSON, with a model and a service behind them.

3.  [Upload and download files](spring-boot-tutorial-file-upload-download.html): receive files in multipart POST requests and return them as file downloads.

4.  [Store data in an H2 database](spring-boot-tutorial-h2-database-jar.html) with Spring Data JDBC, then package the application as an executable JAR and run it outside the IDE.

Each part continues the same project. The checklist at the beginning of each part marks the earlier parts as completed.

> **Tip:**
> This tutorial is a shorter version of Marco Codes' [Spring Boot
> crash course](https://www.jetbrains.com/guide/java/tutorials/marco-codes-spring-boot/introduction/). The [original video](https://youtu.be/QuvS_VLbGko) also covers JSON input and validation, which this tutorial omits.

If you only need a minimal application with one endpoint, refer to [Tutorial: Create your first Spring application](your-first-spring-application.html).

## Prerequisites

* Basic knowledge of Java and HTTP. No Spring experience is required.

* JDK 17 or later. This tutorial uses Spring Boot 4, which requires Java 17 as a minimum. If no JDK is installed, you can download one when you create the project.

* A web browser (such as Chrome or Safari) with developer tools. You will use the browser console to send a DELETE request.

* The Spring and Spring Boot plugins, bundled and enabled by default in IntelliJ IDEA. To check that they are enabled, open `Settings | Plugins` (`Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))), search for Spring and Spring Boot, and make sure that the checkboxes next to the plugins are selected.

[Start the tutorial](spring-boot-tutorial-create-project.html)

