我应该在存储库级别还是在API服务中引发异常?

时间:2019-06-20 07:03:52

标签: typescript architecture

我想问一些有关软件体系结构的问题。我在构造后端以遵循干净的体系结构/六角形体系结构或其他任何东西。我的主要观点是我要分开一些担忧。

在我的服务中,我有一个存储库,实现从另一个第三方服务调用API。假设我想获得一个实体。 getEntity(id)的存储库实现仅调用API端点。如果找不到该实体,我应该将自定义NotFoundException放在API实现级别还是从存储库级别?

Repository.ts

async class EntityRepository {
   getEntity(id): Entity {
      const entity = await this.apiService.getEntity(id);
      return entity
   }
}

APIService.ts

async class APIService {
  getEntityAPI(id) {
    const response = axios.get(3rd_party_api_url, id);
    return response;
  }
}

我还没有抛出错误,因为我不知道在哪里放置错误。哪个更好 ?将其扔到存储库中还是API服务中?

0 个答案:

没有答案