请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Springcloud中再写controller层的作用还大吗?

老师是这样,公司的项目基于springcloud这套体系搭建,feign调用,但是我看还有大量的controller层代码,所以我有点困惑.

1. 既然feign是用于远程通信的,那直接都用feign对外暴露服务并通信不行吗?为何还要写那么多controller代码?
2. 是因为调用本模块本地的请求是不需要走远程吗?性能开销吗?
3. 我的理解只有feign服务才能注册到nacos中供远程调用,controller用于本地调用?

正在回答 回答被采纳积分+3

1回答

大目 2020-09-14 23:09:49

您好,我感觉您对Feign的理解存在误会:

  1. Feign是HTTP客户端,是用来调用别人的,不是用来暴露接口给别人的。在Spring Cloud中,暴露接口给别人需要使用Spring MVC

  2. 没看懂

  3. 什么是Controller用于本地调用哈?Controller是暴露HTTP API哈,你可以本地调用(localhost),也可以远程访问:http://ip:端口

总的来说,我没有完全理解你问题的意图,可以聊聊将您眼中理想的状态贴出来哦,咱们可以继续讨论,哈哈哈

0 回复 有任何疑惑可以回复我~
  • 提问者 慕斯8196191 #1
    emmm, 不好意思,我刚接触cloud,理解的有误区。
    那是不是这样, springcloud中服务端暴漏服务上是用controller,但是注册到nacos中的其实是ip+端口等一些元数据,controller下的每个请求要由客户端@GetMapping指定,feign的作用只是调用。
    回复 有任何疑惑可以回复我~ 2020-09-15 10:00:52
  • 大目 回复 提问者 慕斯8196191 #2
    是的哈。
    回复 有任何疑惑可以回复我~ 2020-09-16 14:52:17
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信