我目前正在开发一个 Spring Boot 项目,其中在控制器类中定义了多个 REST 端点。在实现这些端点时,我开始想知道在这些控制器方法中组织代码的最佳实践。
具体来说,我很好奇理想情况下应包含在单个控制器方法中以保持干净且可读的代码的代码量。每个方法是否应该严格地将功能委托给服务层方法,或者控制器方法本身具有更复杂的逻辑是否可以接受?
例如,考虑我的 PersonController 类中的以下方法:
@GetMapping(value = "/{id}")
@ResponseStatus(HttpStatus.OK)
public PersonResponse getPersonById(@PathVariable Long id) {
return personService.fetchPersonById(id);
}
我知道这种级别的代码组织通常被认为是干净的,但我不确定在仍然遵守干净代码原则的情况下可以包含在方法中的可接受的逻辑量。确定控制器方法内复杂性阈值的推荐方法是什么?
如果您有关于 Spring Boot REST 控制器内代码组织的见解或最佳实践,我将不胜感激。谢谢!