| Versioned API | /api/v1/users | | Plural nouns | /users not /user | | HTTP methods | GET=read, POST=create, PUT=update, DELETE=delete | | Status codes | 200=OK, 201=Created, 204=NoContent, 404=NotFound | | Validation | @Valid on request body |
| @RestController | REST controller (combines @Controller + @ResponseBody) | | @Service | Business logic component | | @Repository | Data access component | | @Configuration | Configuration class | | @RequiredArgsConstructor | Lombok: constructor injection | | @Transactional | Transaction management | | @Valid | Trigger validation |
| @ConfigurationProperties | Bind properties to class | | @Profile("dev") | Profile-specific bean | | @Scheduled | Scheduled tasks |
Spring Boot best practices and patterns. Use when creating controllers, services, repositories, or when user asks about Spring Boot architecture, REST APIs, exception handling, or JPA patterns. Source: decebals/claude-code-java.