SuperAPI AI 工具集

springboot-patterns

通用与其它

查看项目

更新于 10-16 09:35

技能介绍

用途:为可扩展的生产级 Spring Boot 服务提供架构与 API 设计模式,适用于使用 Spring MVC 或 WebFlux 构建 REST API、组织分层结构、配置数据访问与缓存、添加验证与分页、设置多环境配置、实现事件驱动等场景。

主要能力:REST API 采用 @RestController + @RequestMapping,返回 ResponseEntity 与分页 Page;分层为 Controller → Service → Repository,服务层用 @Transactional 管理事务,查询可用 @Transactional(readOnly = true);Spring Data JPA 存储库支持 @Query 与 Pageable;DTO 使用 record 并结合 @Valid、@NotBlank、@Size、@NotNull、@FutureOrPresent、@NotEmpty 等校验注解;异常处理通过 @ControllerAdvice 统一拦截校验错误、权限拒绝与通用异常;缓存使用 @Cacheable / @CacheEvict(需 @EnableCaching);异步使用 @Async 返回 CompletableFuture(需 @EnableAsync);日志基于 SLF4J;过滤器继承 OncePerRequestFilter 记录请求耗时;限流可用 Bucket4j 按客户端 IP 分配令牌桶,超出返回 429;外部调用可用带指数退避的重试封装;分页排序用 PageRequest.of 与 Sort。

使用方式:将上述注解与分层结构直接应用于 Spring Boot 项目;缓存与异步需在配置类启用对应注解;限流与转发头需按资料说明配置 server.forward-headers-strategy 或注册 ForwardedHeaderFilter,并由受信任代理覆盖 X-Forwarded-For。

限制:速率限制的客户端 IP 识别依赖正确的反向代理与转发头配置,否则应仅使用 request.getRemoteAddr(),不可直接信任 X-Forwarded-For;后台作业需保持幂等与可观察性;资料未提供具体依赖版本、安装命令与收费信息。