К основному содержанию
скилл CX Codex

302-frameworks-spring-boot-rest — скилл для Claude Code: REST API

Скилл для проектирования и разбора REST API на Spring Boot: методы, коды ответов, DTO, версионирование, пагинация, ошибки по RFC 7807.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add jabrena/plinth --skill 302-frameworks-spring-boot-rest -a claude-code
Открыть на GitHub

Что делает 302-frameworks-spring-boot-rest

Скилл ведёт агента по правилам дизайна REST в Spring Boot: семантика HTTP-методов, устройство URI ресурсов, коды состояния, тонкие контракты DTO. Отдельно разобраны версионирование через URI, заголовок или media type, согласование контента с JSON по умолчанию и vendor media types, а также ISO-8601 с офсетом в JSON-контрактах.

Внутри — рабочий процесс из четырёх шагов: прочитать references/302-frameworks-spring-boot-rest.md, оценить контекст проекта, внести минимальный набор изменений и прогнать проверку. Перед правками скилл требует собрать проект через ./mvnw compile или mvn compile, а после — выполнить ./mvnw clean verify или mvn clean verify. Если сборка падает, работа останавливается: сначала чините компиляцию, иначе агент просто не тронет код. При размытой постановке скилл останавливается и задаёт уточняющий вопрос.

Темы покрытия: пагинация, сортировка и фильтрация через Page/Pageable с ограничениями, Bean Validation на границе с @Valid/@Validated и ответом 400, идемпотентность POST через Idempotency-Key и 409 при коллизии, конкурентность на ETag с If-Match/If-None-Match, кэширование, заголовки Deprecation и Sunset, безопасность API, contract-first OpenAPI через OpenAPI Generator, @ControllerAdvice и problem details.

Какие задачи решает

  • разложить контроллеры и DTO по правилам REST без лишних полей в контракте
  • добавить ответы об ошибках в формате RFC 7807 через controller advice
  • настроить пагинацию и сортировку с ограничением размера страницы
  • защитить создание ресурса от повторных POST через Idempotency-Key
  • проставить заголовки Deprecation и Sunset при выводе версии из оборота

Примеры запросов агенту

  • Проверь мои Spring Boot контроллеры на соответствие REST-практикам и покажи проблемные места
  • Добавь в проект problem details для ошибок и настрой @ControllerAdvice
  • Переделай пагинацию в списке заказов на Page/Pageable с ограничением размера страницы

Как установить 302-frameworks-spring-boot-rest

1Через Skills CLI (Vercel)

npx skills add jabrena/plinth --skill 302-frameworks-spring-boot-rest -a claude-code

2Вручную: положить файлы

~/.claude/skills/302-frameworks-spring-boot-rest/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/302-frameworks-spring-boot-rest/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о 302-frameworks-spring-boot-rest

Как установить 302-frameworks-spring-boot-rest в Claude?

Выполните npx skills add jabrena/plinth --skill 302-frameworks-spring-boot-rest -a claude-code. Скилл появится в ~/.claude/skills/302-frameworks-spring-boot-rest/SKILL.md.

Что делает 302-frameworks-spring-boot-rest?

Помогает агенту проектировать, проверять и улучшать REST API на Spring Boot: методы и URI, коды ответов, DTO, версионирование, пагинация, валидация, идемпотентность, кэширование и обработка ошибок.

Что нужно, чтобы скилл сработал?

Проект на Spring Boot с Maven: перед изменениями скилл требует успешной сборки через ./mvnw compile или mvn compile, а после правок — ./mvnw clean verify или mvn clean verify.

Исходный текст

SKILL.md · Apache-2.0
---
name: 302-frameworks-spring-boot-rest
description: Use when you need to design, review, or improve REST APIs with Spring Boot — including HTTP methods, resource URIs, status codes, DTOs, versioning, deprecation and sunset headers, content negotiation (JSON and vendor media types), ISO-8601 instants in DTOs, pagination/sorting/filtering, Bean Validation at the boundary, idempotency, ETag concurrency, HTTP caching, error handling, security, contract-first OpenAPI (OpenAPI Generator), controller advice, and problem details for errors. This should trigger for requests such as Review Java code for Spring Boot REST API; Apply best practices for Spring Boot REST API in Java code; Design Spring Boot REST controllers and DTOs; Add Problem Details error responses in Spring Boot REST; Improve pagination validation or idempotency in Spring APIs. Part of Plinth Toolkit
license: Apache-2.0
metadata:
  author: Juan Antonio Breña Moral
  version: 0.19.0
---
# Java REST API Design Principles

Apply REST API design principles for Spring Boot applications.

**What is covered in this Skill?**

- HTTP methods (GET, POST, PUT, PATCH, DELETE) — semantic consistency
- Resource URI design
- HTTP status codes
- Request/response DTOs with lean contracts
- API versioning (URI, header, or media type — applied consistently)
- Bean Validation at the boundary (@Valid/@Validated on controller inputs, 400 on failure)
- Pagination, sorting, and filtering (Page/Pageable with caps)
- ISO-8601 instants with offset (OffsetDateTime, Instant) in JSON contracts
- Content negotiation (JSON default; vendor media types when meaningful)
- Idempotency-Key support for POST creates; 409 Conflict for collisions
- ETag concurrency with If-Match/If-None-Match; 412 Precondition Failed / 304 Not Modified
- HTTP caching discipline (Cache-Control, ETag, Last-Modified)
- Deprecation and sunset headers (Deprecation, Sunset, Link rel="successor-version)"
- Error handling
- API security (TLS, authentication, authorization, input validation)
- API contract: OpenAPI file as source of truth for API-first (OpenAPI Generator)
- Controller advice and problem details (RFC 7807)

**Scope:** Apply recommendations based on the reference rules and good/bad code examples.

## Constraints

Before applying any REST API changes, ensure the project compiles. If compilation fails, stop immediately. After applying improvements, run full verification.

- **MANDATORY**: Run `./mvnw compile` or `mvn compile` before applying any change
- **SAFETY**: If compilation fails, stop immediately
- **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying improvements
- **BEFORE APPLYING**: Read the reference for detailed rules and good/bad patterns
- **EDGE CASE**: If request scope is ambiguous, stop and ask a clarifying question before applying changes
- **EDGE CASE**: If required inputs, files, or tooling are missing, report what is missing and ask whether to proceed with setup guidance

## When to use this skill

- Review Java code for Spring Boot REST API
- Apply best practices for Spring Boot REST API in Java code
- Design Spring Boot REST controllers and DTOs
- Add Problem Details error responses in Spring Boot REST
- Improve pagination validation or idempotency in Spring APIs

## Workflow

1. **Read reference and assess project context**

Read `references/302-frameworks-spring-boot-rest.md` and inspect the current project setup before proposing changes.

2. **Gather scope and decide target improvements**

Identify requested outcomes, constraints, and the minimum safe set of changes to apply.

3. **Apply framework-aligned changes**

Implement or refactor configuration/code following the reference patterns and project conventions.

4. **Run verification and report results**

Execute appropriate build/tests and summarize what changed, what was verified, and any follow-up actions.

## Reference

For detailed guidance, examples, and constraints, see [references/302-frameworks-spring-boot-rest.md](references/302-frameworks-spring-boot-rest.md).

© Juan Antonio Breña Moral · Apache-2.0 · jabrena/plinth

Похожие скиллы

Всё по теме «Бэкенд и API» →
spring-boot-rest-api-standards giuseppe-trisciuoglio Задаёт правила проектирования REST API в Spring Boot: от структуры URL и статус-кодов до валидации DTO и перехвата ошибок. CX Codex +1 4 200установок spring-boot Mindrally Скилл задаёт агенту стиль кода на Spring Boot: REST-контроллеры, тесты, безопасность, сборка и деплой. Пригодится, когда проект на Java и хочется единообразия. CX Codex +1 832установок spring-boot-openapi-documentation giuseppe-trisciuoglio Скилл помогает агенту настроить SpringDoc OpenAPI 3.0 и Swagger UI в проекте на Spring Boot 3.x и разметить эндпоинты аннотациями. CX Codex +1 4 000установок spring-boot-patterns decebals Скилл задаёт структуру Spring Boot-проекта и шаблоны для контроллеров, сервисов и репозиториев. Пригодится, когда агент пишет новый код или разбирает чужой. CX Codex +1 322установок create-spring-boot-java-project официальный github Создаёт каркас Spring Boot на Java с Maven, базами данных и Docker Compose. Подходит для старта API, которому нужны PostgreSQL, Redis и MongoDB. 9 516установок spring-boot-engineer https://github.com/Jeffallan Разворачивает архитектуру Spring Boot 3.x, контроллеры, репозитории Spring Data JPA и правила Spring Security 6. Пригодится при сборке REST API, реактивных сервисов и микросервисов на Java. CX Codex +1 8 400установок

Из того же набора40

131-java-testing-unit-testing Скилл помогает писать и рефакторить модульные тесты на Java по стандартам JUnit 5, AssertJ и Mockito. Он находит антипаттерны вроде общего состояния и проверяет граничные условия. CX Codex +1 449установок 141-java-refactoring-with-modern-features Скилл переводит старый Java-код на современные возможности языка: лямбды, Stream API, Optional, java.time. Пригодится, когда проект пора чистить от легаси. CX Codex +1 427установок 125-java-concurrency Скилл для ИИ-агента, который разбирает Java-код на гонки, блокировки и утечки потоков и предлагает правки по современным средствам java.util.concurrent. CX Codex +1 402установок 122-java-type-design Скилл для ревью и рефакторинга Java-кода: убирает primitive obsession, строит иерархии типов и подсказывает, где нужен BigDecimal. CX Codex +1 394установок 301-frameworks-spring-boot-core Скилл настраивает правила ревью и рефакторинга кода на Spring Boot 4.0.x. Помогает внедрять зависимости через конструктор и валидировать конфигурацию. CX Codex +1 390установок 111-java-maven-dependencies Добавляет в pom.xml зависимости для качества кода: JSpecify, Error Prone с NullAway, VAVR, ArchUnit, JavaMoney. Спрашивает, что нужно, и ставит только выбранное. CX Codex +1 388установок 321-frameworks-spring-boot-testing-unit-tests Скилл ведёт агента по юнит-тестам Spring Boot: Mockito без поднятия контекста, срезы для контроллеров, параметризованные тесты. Пригодится, когда в проекте расплодились @SpringBootTest. CX Codex +1 387установок 112-java-maven-plugins Скилл подключает и настраивает плагины Maven в pom.xml через вопросы по одному. Пригодится, когда нужно добавить проверки качества, покрытие или сборку образа. CX Codex +1 381установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой