我开始使用Spring MVC构建我的第一个REST API :) 现在我遇到了一些困难,不知道将哪种逻辑放在哪里。我阅读了以下内容:
在一个简单的例子中,我看到流程是这样的:RestController 调用 Service,Service 调用 Repository。在第一步中,我就这样做了。
现在我想使用
为了说明我的意思(是的,我是个大足球迷):
这样做是最佳实践,还是让Service返回
我认为你可以争论说
谢谢!
@RestController
: 处理请求,定义了用户可以使用的API
@Service
: 包含业务逻辑
@Repository
: 抽象化了对DB的访问在一个简单的例子中,我看到流程是这样的:RestController 调用 Service,Service 调用 Repository。在第一步中,我就这样做了。
现在我想使用
ResponseEntity
- 我听说使用它是很好的做法。但现在我开始想:服务层应该返回 ResponseEntity
还是领域模型的实例?为了说明我的意思(是的,我是个大足球迷):
@GetMapping("/clubs")
public ResponseEntity<List<FootballClub>> getAllClubs(@RequestParam String footballLeague) {
List<FootballClub> clubs = service.getAllClubs(footballLeague);
return new ResponseEntity(...);
}
这样做是最佳实践,还是让Service返回
ResponseEntity
更好?我刚接触Spring MVC。我在Stackoverflow上阅读了一些文章,其中有一些解释了常规设置。但是我无法找到如何处理例如ResponseEntity
的信息。我认为你可以争论说
ResponseEntity
也应该在Service中,因为你可能需要返回方法不允许或类似这样的东西,确定是返回方法不允许的ResponseEntity
还是OK实体可以被视为业务逻辑的一部分。但我不确定。谢谢!