iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何使用Feign调用第三方http接口
  • 948
分享到

如何使用Feign调用第三方http接口

2023-06-29 10:06:06 948人浏览 八月长安
摘要

本篇内容介绍了“如何使用Feign调用第三方Http接口”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Feign调用第三方http接口我们平

本篇内容介绍了“如何使用Feign调用第三方Http接口”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Feign调用第三方http接口

我们平常在开发的时候,经常会碰到调用第三方的接口,这个时候我们可以使用httpClient或者restTemplate,但是这两种方式相比较与Feign调用,都会麻烦一点儿。

Feign是声明式服务调用客户端,既规范又简洁,帮我们屏蔽了http调用的复杂性,而且完美切入SpringCloud技术体系。

下面就来演示一下

使用Feign来调用第三方的客户端。

@FeignClient(name = "my-feign-client", url = "http:/public interface DetailPhoneClient {        @RequestLine("GET /open/location?tel={tel}&qq-pf-to=pcqq.c2c")    JSONObject getDetailByPhone(@Param(value = "tel") String tel);}

使用

在controller层中可以直接调用,直接上代码 。

最重要的地方就是Feign.builder()这一段,下面是判断,因为是第三方的,不是自己写的接口,判断的比较细了,有点啰嗦。

     private String getCityByPhone(String phone) {        DetailPhoneClient detailPhoneClient = Feign.builder()                .decoder(new GsonDecoder())                .target(DetailPhoneClient.class, "http://mobsec-dianhua.baidu.com/dianhua_api");        jsONObject detailByPhone = detailPhoneClient.getDetailByPhone(phone);        logger.info("查询手机号所属地区:" + detailByPhone);        // 获取手机号信息的数据        if (!detailByPhone.containsKey("response")) {            return null;        }        JSONObject response = detailByPhone.getJSONObject("response");        if (!response.containsKey(phone)) {            return null;        }        JSONObject phoneDetail = response.getJSONObject(phone);        if (!phoneDetail.containsKey("detail")) {            return null;        }        JSONObject detail = phoneDetail.getJSONObject("detail");        if (!detail.containsKey("area")) {            return null;        }        JSONArray area = detail.getJSONArray("area");        if (area.size() == 0) {            return null;        }        JSONObject cityJsonObject = area.getJSONObject(0);        if (!cityJsonObject.containsKey("city")) {            return null;        }        return cityJsonObject.getString("city");    }

深入理解

会用了,再来了解一下。

权威的宝典:GitHub-openfeign(由于这个写的比较通俗易懂,又比较权威,所以代码就不copy过来了,省时省力)

Gson/Jackson(处理json格式的数据)两者都包括一个编码器,一个解码器

Sax/JAXB(处理xml格式的数据,因为我还没有接触到这种格式的,毕竟现在json比较流行嘛,只能先写到这里,用到再说)

OkHttp,JAX-RS,Ribbon(负载均衡),Hystrix(熔断机制)。这几个都没有用到,等用到了 ,再上官网上查吧

可以在接口上添加header,具体的可以上githua上面查

@Headers("Content-Type: application/xml")

“如何使用Feign调用第三方http接口”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 如何使用Feign调用第三方http接口

本文链接: https://www.lsjlt.com/news/324391.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作