Feign调用过程和调用示例

来源:互联网 发布:js标准时间格式转换 编辑:程序博客网 时间:2024/06/17 14:48

1.PathVariable的url客户端调用示例

1.1controller实现
@AutowiredQueryRemote queryRemote;@RequestMapping("/query/{name}")public String query(@PathVariable String name){    return queryRemote.query(name);}
1.2Feign接口实现
@FeignClient(name="queryRemote", url="${ssp.server.address}")public interface QueryRemote {    @GetMapping(value="/Eilean-api/query/{name}")    public String query(@PathVariable("name") String name);}
1.3Web端调用示例

http://localhost:8008/query/Jorge

1.4 调用的链路图

从图中可以看出,controller的处理过程与feign的处理过程完全是相对的。也即是,controller解析完url并绑定相应的请求参数后,然后在调用的feign的接口方法,重新组装url发送到相应的remote的url,进而完成服务的反向代理。响应的结果再沿着相反的方向传递,把数据返回给请求端。
因此,在controller调用feign接口方法之前可以做复杂的参数映射,包括pathvariable、parameter、body中的参数之间的映射。