【问题标题】:How to access domain models of microservices in web api controller如何在 web api 控制器中访问微服务的域模型
【发布时间】:2018-10-08 13:59:59
【问题描述】:

我有一个。网核微服务项目。 架构如下 一、申请项目 2.服务项目(WebApi项目) 3.微服务项目 4.接口层

由于数据、代码和配置应该在微服务中,我已经在微服务项目中添加了所有领域模型。但是我通过使用服务代理类的接口使用 WebApi 项目中的控制器访问这些微服务。

所以我的问题是,如果我的微服务要返回 Employee 对象,我应该如何将它作为返回类型添加到我的控制器中。由于控制器仅对接口项目而不是微服务项目具有依赖关系,因此我无法访问域模型。我最终在 webapi 项目中创建了另一个域模型或使用动态变量类型作为返回类型。

由于我使用了动态变量,所以 swagger 也不会返回模型对象格式。

有没有更好的办法?

【问题讨论】:

  • 使用从您的域模型映射并由您的 Web api 项目返回的数据传输对象。
  • 谢谢.. 我会试试的

标签: json azure swagger microservices azure-service-fabric


【解决方案1】:

我们可以安全地假设 web api 项目和微服务项目都是无状态服务吗?

你不能在接口项目中创建 DTO 并让微服务项目返回它们吗?

但我确实想知道,如果 api 只是通往无状态服务的网关,那为什么还要为无状态服务烦恼呢?我会把这个逻辑放在api中。我的意思是,否则有什么好处?

或者在微服务服务上放置一个 http 端点并移除远程通信监听器。这样你的前端可以直接与服务对话,你可以删除 api 控制器(微服务有效地成为你的 api)。

【讨论】:

    猜你喜欢
    • 2016-11-05
    • 2018-03-01
    • 2018-06-14
    • 2010-09-28
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多