首页 > Web开发 > 详细

使用FeignClient发送http/https请求

时间:2020-10-18 12:32:39      阅读:442      评论:0      收藏:0      [点我收藏+]

在项目中,常见的发起http/https请求的方式一般是通过「okhttp3.OkHttpClient」,通过显式的拼接url、添加请求头、指定url就可以创建一个Request,然后通过OkHttpClient发起请求。如下

技术分享图片

 但是这种方式有问题:

  • url需要仔细拼接,防止url出错
  • 如果有大量的地方有这种业务需求,会导致重复代码太多,并且由于url的拼接规则都不一样,无法将这些重复代码提取出来,造成了项目臃肿。
  • 结构化不清楚

所以可以使用FeignClient,通过定义接口的方式将请求结构化。技术分享图片

  •  先定义一个接口。
  • 添加FeignClinet注解,其中「url」表示请求的基地址,「name」的值就是Spring容器中声明的bean名字。
  • 编写方法。

技术分享图片

 该接口的意思是发送「get」请求,并且该请求的请求头是由「@RequestHeader」指定的,「@RequestHeader」中的「authorization」是请求头的名字,之后在调用该方法的时候传入的值作为请求头的值。其他的也类似。

「@GetMapping」中的「consumes」指的是发起请求时的「content-type=application/json」,而「produces」是告诉服务器,我需要接受到的数据格式为application/json,即请求头中的「accept=application/json」。

Post请求:

技术分享图片

其实FeignClient的使用方法和正常使用Spring MVC类似。当然,方法的返回值也可以是实体类,FeignClient可以自动封装对象。

 

使用FeignClient发送http/https请求

原文:https://www.cnblogs.com/HMingR/p/13833936.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!