首先,微服务需要注册到Nacos,再通过OpenFeign的方式实现远程调用。微服务之间的方法调用,底层是基于HTTP的请求与返回。所以被调用的方法应该是正常的HTTP请求API,能够接收body类型的参数,或者query类型的参数,需要使用RequestBody、RuquestParam之类的注解。这样才能保证微服务之间的正常调用。被调用FeignClient中,直接复制Controller层的接口方法即可,其他不用做任何修改。
之前Feign传参失败,一直因为被调用的接口方法有问题,没有使用接收参数的注解,只有接收参数的实体,这在HTTP的直接调用中也是接收不了参数的,Feign的方式自然也接收不了参数。增加接收参数的注解之后就正常了。
另外,还有RPC的远程调用方式,这种方式底层也是HTTP,但被调用的方法只写接收参数的实体。