首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SpringBoot 调用外部接口的三种方式

作者:Chelsea

1、简介

SpringBoot不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求, 比如在apaas开发过程中需要封装接口在接口中调用apaas提供的接口(像发起流程接口submit等等)下面也是提供了三种方式(不使用dubbo的方式)供我们选择

2、方式一:使用原始httpClient请求

3、方式二:使用RestTemplate方法

Spring-Boot开发中,RestTemplate同样提供了对外访问的接口API,这里主要介绍Get和Post方法的使用。

Get请求

提供了getForObject 、getForEntity两种方式,其中getForEntity如下三种方法的实现:

Get--getForEntity,存在以下两种方式重载

Get--getForEntity(URI url,Class responseType)

Get--getForEntity(Stringurl,Class responseType,Object…urlVariables)

Get--getForObject,存在以下三种方式重载

getForObject方法可以理解为对getForEntity的进一步封装,它通过HttpMessageConverterExtractor对HTTP的请求响应体body内容进行对象转换,实现请求直接返回包装好的对象内容。

Post 请求

Post请求提供有postForEntity、postForObject和postForLocation三种方式,其中每种方式都有三种方法,下面介绍postForEntity的使用方法。

Post--postForEntity,存在以下三种方式重载

如下仅演示第二种重载方式

4、方式三:使用Feign进行消费

在maven项目中添加依赖

启动类上加上@EnableFeignClients

此处编写接口模拟外部接口供feign调用外部接口方式使用

定义controller

定义service

定义serviceImpl

构建Feigin的Service

定义service

定义controller

postman测试

此处因为我使用了所在项目,所以需要添加一定的请求头等信息,关于Feign的请求头添加也会在后续补充

补充如下:

添加Header解决方法

将token等信息放入Feign请求头中,主要通过重写RequestInterceptor的apply方法实现

定义config

定义service

定义controller

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Oplm6wGqZy90XYArbj-fqJ2w0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券