Claude Code Plugins

Community-maintained marketplace

Feedback

Spring Boot 4 REST API implementation patterns. Use when creating REST controllers, request validation, exception handlers with ProblemDetail (RFC 9457), API versioning, content negotiation, or WebFlux reactive endpoints. Covers @RestController patterns, Bean Validation 3.1, global error handling, and Jackson 3 configuration.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name spring-boot-web-api
description Spring Boot 4 REST API implementation patterns. Use when creating REST controllers, request validation, exception handlers with ProblemDetail (RFC 9457), API versioning, content negotiation, or WebFlux reactive endpoints. Covers @RestController patterns, Bean Validation 3.1, global error handling, and Jackson 3 configuration.

Spring Boot Web API Layer

REST API implementation patterns for Spring Boot 4 with Spring MVC and WebFlux.

Technology Selection

Choose When
Spring MVC JPA/JDBC backend, simpler debugging, team knows imperative style
Spring WebFlux High concurrency (10k+ connections), streaming, reactive DB (R2DBC)

With Virtual Threads (Java 21+), MVC handles high concurrency without WebFlux complexity.

Core Workflow

  1. Create controller@RestController with @RequestMapping base path
  2. Define endpoints@GetMapping, @PostMapping, etc.
  3. Add validation@Valid on request body, custom validators
  4. Handle exceptions@RestControllerAdvice with ProblemDetail
  5. Configure versioning → Native API versioning (Spring Boot 4)

Quick Patterns

See EXAMPLES.md for complete working examples including:

  • REST Controller with CRUD operations and pagination (Java + Kotlin)
  • Request/Response DTOs with Bean Validation 3.1
  • Global Exception Handler using ProblemDetail (RFC 9457)
  • Native API Versioning with header configuration
  • Jackson 3 Configuration for custom serialization
  • Controller Testing with @WebMvcTest

Spring Boot 4 Specifics

  • Jackson 3 uses tools.jackson package (not com.fasterxml.jackson)
  • ProblemDetail enabled by default: spring.mvc.problemdetails.enabled=true
  • API Versioning via version attribute in mapping annotations
  • @MockitoBean replaces @MockBean in tests

Detailed References

Anti-Pattern Checklist

Anti-Pattern Fix
Business logic in controllers Delegate to application services
Returning entities directly Convert to DTOs
Generic error messages Use typed ProblemDetail with error URIs
Missing validation Add @Valid on @RequestBody
Blocking calls in WebFlux Use reactive operators only
Catching exceptions silently Let propagate to @RestControllerAdvice

Critical Reminders

  1. Controllers are thin — Delegate to services, no business logic
  2. Validate at the boundary@Valid on all request bodies
  3. Use ProblemDetail — Structured errors for all exceptions
  4. Version from day one — Easier than retrofitting
  5. @MockitoBean not @MockBean — Spring Boot 4 change