Claude Opus Программирование Backend‑разработчик Русский

Промпт: Spring Boot REST API

Этот промпт предназначен для backend-разработчиков, стремящихся освоить создание RESTful API с использованием Spring Framework. Он предоставляет пошаговое руководство по разработке API управления задачами (To-Do List) с применением Spring Boot, Spring Data JPA и Spring Security. В промпте описана структура проекта, создание сущностей, разработка репозиториев и контроллеров, а также реализация аутентификации и авторизации.

Особое внимание уделяется лучшим практикам, обеспечению безопасности и использованию H2 Database для разработки и тестирования. Включает примеры кода, JSON запросы/ответы и инструкции по тестированию API.

Помогает начинающим разработчикам быстро освоить основные концепции и создать рабочий API. Claude Opus 4 поможет вам эффективно использовать этот промпт. Подробное описание настройки Spring Security, использование DTO и варианты расширения API делают этот промпт всеобъемлющим руководством.

Инструкция пользователя: внимательно изучите промпт, следуйте инструкциям по шагам и экспериментируйте с кодом, чтобы лучше понять принципы разработки RESTful API на Spring Framework.

Mikhail
Автор
Mikhail
Опубликовано 04.02.2026
0,0
Views 5
Роль: Backend-разработчик с опытом работы над Spring Framework.
Задача: Разработать детальный план и примеры кода для создания RESTful API с использованием Spring Boot, Spring Data JPA и Spring Security.
Цель: Предоставить четкую и понятную инструкцию для начинающих разработчиков, желающих изучить разработку API на Spring Framework, с акцентом на лучшие практики и обеспечение безопасности.

Контекст: Пользователь – разработчик, который уже знаком с основами Java, но только начинает изучать Spring Framework. Ему необходимо создать RESTful API для простого приложения, например, управления списком задач (To-Do List).

Инструкции:
- Разработать структуру проекта Spring Boot, включающую необходимые зависимости (Spring Web, Spring Data JPA, Spring Security, H2 Database).
- Создать сущность (entity) `Task` с полями: `id` (Long), `title` (String), `description` (String), `completed` (boolean).
- Разработать интерфейс репозитория `TaskRepository`, расширяющий `JpaRepository` для работы с базой данных.
- Реализовать REST контроллер `TaskController` с эндпоинтами:
- `GET /tasks`: Получение списка всех задач.
- `GET /tasks/{id}`: Получение задачи по ID.
- `POST /tasks`: Создание новой задачи.
- `PUT /tasks/{id}`: Обновление существующей задачи.
- `DELETE /tasks/{id}`: Удаление задачи.
- Реализовать логику аутентификации и авторизации с использованием Spring Security.
- Создать пользователя с ролью администратора.
- Ограничить доступ к эндпоинтам только для аутентифицированных пользователей.
- Использовать H2 Database в качестве базы данных для разработки и тестирования.
- Предоставить примеры кода для каждого эндпоинта, включая обработку ошибок и валидацию данных.
- Описать процесс настройки Spring Security для защиты API.
- Указать, какие аннотации Spring используются для создания RESTful API.
- Добавить примеры JSON запросов и ответов для каждого эндпоинта.
- Описать, как протестировать разработанный API (например, с использованием Postman или curl).
- Подробно описать настройку подключения к базе данных и миграцию схемы данных при необходимости.
- Рассмотреть возможность использования DTO (Data Transfer Object) для изоляции слоев приложения.
- Предложить возможные улучшения и расширения API.

Пример работы "Промпт: Spring Boot REST API"

Детальное руководство по созданию RESTful API с Spring Boot

1. Структура проекта и зависимости

1.1 Создание проекта

Используйте Spring Initializr (https://start.spring.io/) со следующими параметрами: - Project: Maven - Language: Java - Spring Boot: 3.2.0 (или последняя стабильная) - Java: 17

1.2 pom.xml - Зависимости

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
         https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.0</version>
        <relativePath/>
    </parent>

    <groupId>com.example</groupId>
    <artifactId>todo-api</artifactId>
    <version>1.0.0</version>
    <name>todo-api</name>
    <description>RESTful API for To-Do List application</description>

    <properties>
        <java.version>17</java.version>
    </properties>

    <dependencies>
        <!-- Spring Web -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- Spring Data JPA -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <!-- Spring Security -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

        <!-- H2 Database -->
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>

        <!-- Validation -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>

        <!-- Lombok (опционально, для уменьшения boilerplate кода) -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

        <!-- Testing -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

1.3 Структура пакетов

src/main/java/com/example/todoapi/
├── TodoApiApplication.java
├── config/
│   └── SecurityConfig.java
├── controller/
│   └── TaskController.java
├── dto/
│   ├── TaskCreateDTO.java
│   ├── TaskUpdateDTO.java
│   └── TaskResponseDTO.java
├── entity/
│   ├── Task.java
│   └── User.java
├── repository/
│   ├── TaskRepository.java
│   └── UserRepository.java
├── service/
│   ├── TaskService.java
│   └── TaskServiceImpl.java
└── exception/
    ├── ResourceNotFoundException.java
    └── GlobalExceptionHandler.java

2. Конфигурация приложения

2.1 application.properties

# Имя приложения
spring.application.name=todo-api

# Конфигурация H2 Database
spring.datasource.url=jdbc:h2:mem:tododb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=

# JPA/Hibernate
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true

# H2 Console (для отладки)
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console

# Server
server.port=8080

# Logging
logging.level.org.springframework.security=DEBUG
logging.level.com.example.todoapi=DEBUG

3. Слой Entity (Модель данных)

3.1 Task Entity

....

Похожие промпты

Mikhail

Mikhail Verified

30.01.2026

Magistral Medium

Промпт для vLLM: Backend-разработка

Этот промпт предназначен для backend-разработчиков, специализирующихся на развертывании моделей машинного обучения. Он поможет разработать и …

Программирование Backend‑разработчик Русский
Star 0,0
Views 15
Mikhail

Mikhail Verified

22.11.2025

Gemini

Промпт для создания AI-агентов в CrewAI

Этот промпт предназначен для менторов, разработчиков и технических специалистов, стремящихся к эффективной автоматизации сложных рабочих …

Программирование Ментор Русский
Star 0,0
Views 241
Mikhail

Mikhail Verified

30.01.2026

Claude Sonnet

Промпт для web develop: приложения управления проектами

Этот промпт предназначен для full-stack разработчиков и помогает создать детальный план разработки веб-приложения для управления …

Программирование Full-stack Русский
Star 0,0
Views 17
Mikhail

Mikhail Verified

04.02.2026

Claude Sonnet

Nuxt 3 Промпт для начинающих

Этот промпт предназначен для Nuxt-разработчика. Ассистент выполняет роль ментора, и направлен на помощь начинающему веб-разработчику …

Программирование Ментор Русский
Star 0,0
Views 6
Mikhail

Mikhail Verified

30.01.2026

Claude Sonnet

Промпт для React интерфейса задач фронт

Этот промпт предназначен для frontend-разработчиков с опытом работы 2 года и поможет в создании интерактивного …

Программирование Frontend‑разработчик Русский
Star 0,0
Views 12
Mikhail

Mikhail Verified

29.08.2025

Claude Opus

Промпт для создания REST-контроллера

Этот промпт помогает разработчикам быстро создавать REST-контроллеры с учетом всех необходимых технических требований. Промпт подходит …

Программирование Backend‑разработчик Русский
Star 0,0
Views 188

Авторизуйтесь, чтобы оставить комментарий.

Комментариев: 0

Нет комментариев.