【问题标题】:Hexagonal architecture with api-platform带有 api 平台的六边形架构
【发布时间】:2019-12-16 08:41:50
【问题描述】:

我将使用api-platform 创建一个 api,并且我想将我的业务逻辑与框架分离。

例如,我想允许用户注册新帐户,POST: /user 很适合。 Api-platform 正在做所有的事情(处理请求、验证数据、保存新用户(原则)、返回响应)。但是我的业务逻辑想在创建新用户期间发送邀请电子邮件并进行其他操作。我应该如何做到这一点才能使用 api-platform?

我是否应该创建自定义操作POST: /register,在内部调用我的用例register($user)?我应该创建自定义存储库接口并在save(User) 内部实现调用POST: /user

或者我应该使用 event system 并将我的“大”用例 (register) 拆分为小用例,这取决于我的业务逻辑需要做什么(验证数据、发送邀请电子邮件等)?如果我想从 CLI 注册新用户,我的命令必须使用所有这些小用例?

或者我应该完全忘记所有 api 平台的魔法,如果我的业务逻辑比 CRUD 更多,我必须自己处理所有事情(验证数据、保存到数据库、发送电子邮件等)?

【问题讨论】:

    标签: api-platform.com hexagonal-architecture


    【解决方案1】:

    有自定义业务逻辑的地方https://api-platform.com/docs/core/extending/

    添加业务逻辑的好点是Data Persisters。我可以在那里使用我自己的Repository 来保存用户、发送电子邮件等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多