OpenFeign远程调用代码示例

fegin主要提供的功能就是,微服务下需要远程调用,使用feign进行一个注入。
前提是服务都在注册中心注册后可进行调用
(个人理解就是给其他模块的东西弄到自己模块当个本地类使用)

//feign的一个service   可以在这个feign的业务controller使用implements中进行一个接口的实现
@FeignClient(name = "order-service", configuration = FeignInterceptor.class, path = "/order")
public interface OrderServiceFeign {

    /**
     * 获取订单装货状态
     * @RequestParam id
     * @return
     */
    @RequestMapping(method = RequestMethod.GET,value = "/getStatus")
    Map<Long,Integer> getLoadingStatus(@RequestParam(value = "ids") List<Long> ids);

}


//假如我有个controller 叫 oc-->注意feign的 path一定要和 controller的 路径值相同  (本文都是/order)
//不然会报错找不到方法的。fegin没有错误的话可以通过fegin的地址进行接口访问也可以直接访问controller进行测试。
@RestController
@RequestMapping("/order")
oc  implements OrderServiceFeign 
{

    @Override
     Map<Long,Integer> getLoadingStatus(@RequestParam(value = "ids") List<Long> ids){
			处理业务
		}

}

调用之前A一定要被B引入

<dependency>
            <groupId>com.taohua</groupId>
            <artifactId>order</artifactId>
            <version>1.0-SNAPSHOT</version>
</dependency>

外部服务调用就直接在需要的地方注入就可以

@Autowired
private OrderServiceFeign  orderServiceFeign
//就可以当本地类使用 

版权声明:本文为Gospel11原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。