302-frameworks-spring-boot-rest
Installation
SKILL.md
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 compileormvn compilebefore applying any change - SAFETY: If compilation fails, stop immediately
- VERIFY: Run
./mvnw clean verifyormvn clean verifyafter applying improvements - BEFORE APPLYING: Read the reference for detailed rules and good/bad patterns
When to use this skill
- Review Java code for Spring Boot REST API
- Apply best practices for Spring Boot REST API in Java code
Reference
For detailed guidance, examples, and constraints, see references/302-frameworks-spring-boot-rest.md.
Weekly Installs
57
Repository
jabrena/cursor-…les-javaGitHub Stars
360
First Seen
1 day ago
Security Audits