帮助你规划与实现 Spring Boot 后端架构、接口与常用工程模式。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "springboot-patterns" 技能: 1. 下载 https://raw.githubusercontent.com/affaan-m/ECC/main/docs/tr/skills/springboot-patterns/SKILL.md 2. 保存为 ~/.claude/skills/springboot-patterns/SKILL.md 3. 装好后重载技能,告诉我可以用了
请为一个 Spring Boot 电商订单系统设计后端架构,包含 controller、service、repository 分层,说明各层职责、包结构、DTO/Entity 转换方式,并给出示例代码骨架。
输出清晰的分层架构方案、目录结构说明与可落地的代码示例。
请审查一个 Spring Boot 用户管理 API 的设计,重点检查资源命名、HTTP 方法使用、状态码、分页筛选、错误响应格式,并给出改进建议与示例接口定义。
输出符合 REST 规范的接口改进建议及更合理的 API 定义示例。
我有一个 Spring Boot 报表服务,请设计如何加入 Redis 缓存和异步任务处理,说明适合缓存的数据、失效策略、@Async 使用方式、线程池配置,以及日志与异常处理建议。
输出缓存与异步处理的实施方案、关键配置建议及示例代码片段。
Ölçeklenebilir, üretim seviyesi servisler için Spring Boot mimari ve API desenleri.
@RestController
@RequestMapping("/api/markets")
@Validated
class MarketController {
private final MarketService marketService;
MarketController(MarketService marketService) {
this.marketService = marketService;
}
@GetMapping
ResponseEntity<Page<MarketResponse>> list(
@RequestParam(defaultValue = "0") int page,
@RequestParam(defaultValue = "20") int size) {
Page<Market> markets = marketService.list(PageRequest.of(page, size));
return ResponseEntity.ok(markets.map(MarketResponse::from));
}
@PostMapping
ResponseEntity<MarketResponse> create(@Valid @RequestBody CreateMarketRequest request) {
Market market = marketService.create(request);
return ResponseEntity.status(HttpStatus.CREATED).body(MarketResponse::from(market));
}
}
public interface MarketRepository extends JpaRepository<MarketEntity, Long> {
@Query("select m from MarketEntity m where m.status = :status order by m.volume desc")
List<MarketEntity> findActive(@Param("status") MarketStatus status, Pageable pageable);
}
@Service
public class MarketService {
private final MarketRepository repo;
public MarketService(MarketRepository repo) {
this.repo = repo;
}
@Transactional
public Market create(CreateMarketRequest request) {
MarketEntity entity = MarketEntity.from(request);
MarketEntity saved = repo.save(entity);
return Market.from(saved);
}
}
public record CreateMarketRequest(
@NotBlank @Size(max = 200) String name,
@NotBlank @Size(max = 2000) String description,
@NotNull @FutureOrPresent Instant endDate,
@NotEmpty List<@NotBlank String> categories) {}
public record MarketResponse(Long id, String name, MarketStatus status) {
static MarketResponse from(Market market) {
return new MarketResponse(market.id(), market.name(), market.status());
}
}
@ControllerAdvice
class GlobalExceptionHandler {
@ExceptionHandler(MethodArgumentNotValidException.class)
ResponseEntity<ApiError> handleValidation(MethodArgumentNotValidException ex) {
String message = ex.getBindingResult().getFieldErrors().stream()
.map(e -> e.getField() + ": " + e.getDefaultMessage())
.collect(Collectors.joining(", "));
return ResponseEntity.badRequest().body(ApiError.validation(message));
}
@ExceptionHandler(AccessDeniedException.class)
ResponseEntity<ApiError> handleAccessDenied() {
return ResponseEntity.status(HttpStatus.FORBIDDEN).body(ApiError.of("Forbidden"));
}
@ExceptionHandler(Exception.class)
ResponseEntity<ApiError> handleGeneric(Exception ex) {
// Beklenmeyen hataları stack trace'ler ile loglayın
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body(ApiError.of("Internal server error"));
}
}
Bir configuration sınıfında @EnableCaching gerektirir.
@Service
public class MarketCacheService {
private final MarketRepository repo;
public MarketCacheService(MarketRepository repo) {
this.repo = repo;
}
@Cacheable(value = "market", key = "#id")
public Market getById(Long id) {
return repo.findById(id)
.map(Market::from)
.orElseThrow(() -> new EntityNotFoundException("Market not found"));
}
@CacheEvict(value = "market", key = "#id")
public void evict(Long id) {}
}
…
帮助开发者为代码代理配置性能优化、安全防护与研究优先工作流。
提供数据库迁移、回滚与零停机发布的最佳实践指导,适用于多种 ORM 与 SQL 数据库。
通过双评审智能体对结果进行对抗式校验,提升输出发布前的可靠性
帮助你掌握地道 Rust 模式、所有权与并发实践,编写安全高性能应用。
基于 C++ Core Guidelines 编写、审查并重构更安全现代的 C++ 代码。
为 Claude Code 会话提供系统化校验流程,帮助检查结果正确性与质量。
帮助用户设计和实现 Spring Boot 后端架构、REST API 与常见工程模式。
帮助你设计与优化 Spring Boot 后端架构、接口与服务实现。
提供 Spring Boot 中 JPA/Hibernate 设计、优化与事务治理实践模式
提供 Spring Boot 中 JPA/Hibernate 设计与性能优化实践指导
帮助开发者梳理后端架构模式、API设计与数据库优化最佳实践
为 Node.js 与 Next.js 项目提供后端架构、API 设计与数据库优化建议。