我有一个.NET核心微服务项目。架构如下1.应用程序项目2.服务项目(WebApi项目) 3.微服务项目4.接口层
因为数据、代码和配置应该在微服务中,所以我在微服务项目中添加了所有的域模型。但是我在WebApi项目中使用控制器通过使用服务代理类的接口来访问这些微服务。
所以我的问题是,如果我的微服务要返回Employee对象,我应该如何将它作为返回类型添加到我的控制器中。因为控制器只依赖于接口项目,而不依赖于微服务项目,所以我不能访问域模型。我最终在webapi项目中创建了另一个域模型,或者使用动态变量类型作为返回类型。
另外,swagger不会返回模型对象格式,因为我使用了动态变量。
有没有更好的方法来做这件事?
发布于 2018-04-28 01:48:18
我们可以安全地假设web api项目和微服务项目都是无状态服务吗?
您不能在接口项目中创建DTO并让微服务项目返回它们吗?
但我想知道,如果api只是一个无状态服务的网关,那么为什么要为无状态服务而烦恼呢?我会把这个逻辑放在api中。我的意思是,除此之外还有什么好处呢?
或者将http端点放在微服务服务上并删除远程通信侦听器。这样,您的前端可以直接与服务对话,并且您可以删除api控制器(微服务实际上成为您的api)。
https://stackoverflow.com/questions/50067214
复制相似问题