没有接触Spring Cloud Feign的时候调用其他公司接口都是用java.net.URL或者org.apache.commons.httpclient, 现在可以使用Feign,使用起来比较简单。

关于如何使用Feign可以查看【Spring cloud】第六篇 Declarative REST Client | 声明性客户端 - Feign

新建Spring cloud基础项目

创建eureka-server工程

可以参考 【Spring Cloud】第一篇 Service Discovery | 服务发现 - Eureka

创建server-feign工程

可以参考 【Spring cloud】第六篇 Declarative REST Client | 声明性客户端 - Feign

  • 添加Feign接口 com.cyinfotech.serverfeign.services.ApiOpenService.java

@FeignClient 设置url为http 基础地址,在各个方法上添加@PostMapping注解为api地址

package com.cyinfotech.serverfeign.services;import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;/*** @author 煮酒泛舟.* @title ApiOpen* @program feign-http* @description ApiOpen* @createtime 2018-12-16 11:43*/
@FeignClient(url = "https://api.apiopen.top", value = "ApiOpenService")
public interface ApiOpenService {/*** 随机单句诗词推荐* @return*/@PostMapping("/singlePoetry")String singlePoetry();/*** 随机一首诗词推荐* @return*/@PostMapping("/recommendPoetry")String recommendPoetry();/*** 搜索古诗词* @param name* @return*/@GetMapping("/searchPoetry")String searchPoetry(@RequestParam("name") String name);
}
  • 在启动类添加测试代码
    添加注解@EnableFeignClients(clients = {ApiOpenService.class})

package com.cyinfotech.serverfeign;import com.cyinfotech.serverfeign.services.ApiOpenService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.web.bind.annotation.*;/*** @author 煮酒泛舟* @date 2018年12月16日11:49:06**/
@SpringBootApplication
@EnableEurekaClient
@RestController
@EnableFeignClients(clients = {ApiOpenService.class})
@RequestMapping("/api")
public class ServerFeignApplication {public static void main(String[] args) {SpringApplication.run(ServerFeignApplication.class, args);}@AutowiredApiOpenService apiOpenService;@RequestMapping("/singlePoetry")public String searchSinglePoetry() {return apiOpenService.singlePoetry();}@RequestMapping("/recommendPoetry")public String searchRecommendPoetry() {return apiOpenService.recommendPoetry();}@GetMapping("/searchPoetry")public String searchPoetry(@RequestParam("name") String name) {return apiOpenService.searchPoetry(name);}}

启动 EurekaServerApplication > ServerFeignApplication

  • 访问:http://localhost:8085/api/singlePoetry

{“code”:200,“message”:“成功!”,“result”:{“author”:“苏轼”,“origin”:“临江仙·夜饮东坡醒复醉”,“category”:“古诗文-人生-梦想”,“content”:“长恨此身非我有,何时忘却营营。”}}

  • 访问:http://192.168.1.108:8085/api/recommendPoetry

{“code”:200,“message”:“成功!”,“result”:{“title”:“送卢孟明还上都”,“content”:“江皋北风至,归客独伤魂。|楚水逢乡雁,平陵忆故园。|征骖嘶别馆,落日隐寒原。|应及秦川望,春华满国门。”,“authors”:“皎然”}}

  • 访问:http://192.168.1.108:8085/api/searchPoetry?name=黄鹤楼

{“code”:200,“message”:“成功!”,“result”:[{“title”:“黄鹤楼”,“content”:“黄鹤何年去杳冥,高楼千载倚江城。|碧云朝卷四山景,流水夜传三峡声。|柳暗西州供骋望,草芳南浦遍离情。|登临一晌须回首,看却乡心万感生。”,“authors”:“卢郢”},{“title”:“黄鹤楼”,“content”:“云锁吕公洞,月明黄鹤楼。|抱关非故卒,谁见羽衣游。”,“authors”:“王十朋”},{“title”:“黄鹤楼”,“content”:“手把仙人绿玉枝,吾行忽及早秋期。|苍龙阙角归何晚,黄鹤楼中醉不知。|江汉交流波渺渺,晋唐遗迹草离离。|平生最喜听长笛,裂石穿云何处吹。”,“authors”:“陆游”},{“title”:“黄鹤楼”,“content”:“长江巨浪拍天浮,城郭相望万景收。|汉水北吞云梦入,蜀江西带洞庭流。|角声交送千家月,帆影中分两岸秋。|黄鹤楼高人不见,却随鹦鹉过汀洲。”,“authors”:“游似”},{“title”:“黄鹤楼”,“content”:“翚飞栋宇据城端,车马尘中得异观。|双眼莫供淮地阔,一江不尽蜀波寒。|老仙横笛月亭午,骚客怀乡日欲残。|独抚遗踪增慨慕,徘徊不忍下层栏。”,“authors”:“罗与之”},{“title”:“黄鹤楼”,“content”:“崔颢题诗在上头,登临何必更冥搜。|楼前黄鹤不重见,槛外长江空自流。|万顷烟云连梦泽,一川风景借西州。”,“authors”:“张颙”},{“title”:“黄鹤楼”,“content”:“昔人已乘白云去,旧国连天不知处。|思量费子真仙子,从他浮世悲生死。|黄鹤一去不复返,光阴流转忽已晚。”,“authors”:“王得臣”},{“title”:“黄鹤楼”,“content”:“登真者谁子,昔有费公祎。|白日玉书下,青天驾鹤飞。|此地少留憩,神标怅依依。|振裾谢尘浊,与尔方远违。|层楼宠陈迹,江山长四围。|登临美商素,雨气薄西晖。|水落州觜嫩,风豪帆背肥。|飘然起遐想,琳馆閟岩扉。|明月识悠阔,白云疑是非。|金桃未遽熟,薤露虞先晞。|高树两华表,长招羽驾归。|灵瓢五色剂,定与遗民挥。|自顾乏仙质,延生犹可希。|刀圭傥不吝,如饱首阳饥。”,“authors”:“贺铸”}]}


欢迎关注我的公众号,跟我留言。

博客地址:https://blog.aprcode.com/Feign-Http/
教程源码Github地址:Feign-Http
教程源码Gitee地址:Feign-Http

「Feign-Http」 Feign请求http接口相关推荐

  1. PHP和ajax请求_「jQuery+PHP」ajax请求以及接口PHP响应教程

    各位客官好,平时我们在开发时,不可避免的会用到Ajax与后台做数据交互,那么今天小编今天就给各位没有用过Ajax的客官以及准备接触的客官讲解一下,并且小编会为大家讲一下请求时的loading层等待以及 ...

  2. java 常用 函数式接口_「java8系列」神奇的函数式接口

    前言 在上一篇Lambda的讲解中我们就提到过函数式接口,比如:Consumer consumer = (s) -> System.out.println(s);其中Consumer就是一个函数 ...

  3. python requests 400错误_「http 400」http请求报400错误的原因分析 - seo实验室

    http 400 http 400 错误 - 请求无效 (Bad request) 在ajax请求后台数据时有时会报 HTTP 400 错误 - 请求无效 (Bad request);出现这个请求无效 ...

  4. 哔哩哔哩「会员购」业务网关的研发赋能实践

    作者 沈佳伟 哔哩哔哩会员购架构师 写在前面 网关是个每隔一段时间就会被请出来「鞭尸」的概念,概念本身的起源已经无从考究.随着微服务和云原生的兴起,网关也伴随着不同的使用场景在各个领域进行细分和进化. ...

  5. java8 lambda maplist排序_「java8系列」流式编程Stream

    前言 「Java8系列」神秘的Lambda 「Java8系列」神奇的函数式接口 继上两篇之后,本文已经java8系列的第三篇了.本篇文章比较长,但我希望大家都能认真读完.读不完可以先收藏,在找时间读. ...

  6. 直接请求接口_「软件测试教程」基于postman进行接口测试实战

    一:接口测试前准备 接口测试是基于协议的功能黑盒测试,在进行接口测试之前,我们要了解接口的信息,然后才知道怎么来测试一个接口,如何完整的校验接口的响应值. 那么问题来了,那接口信息从哪里获取呢?常用的 ...

  7. php获取股票接口数据接口,「股票数据」 使用Sina API获取新浪财经的证券股票数据接口(时价 K线等)...

    在互联网上找到的新浪API的财务API表示Mark,以供将来参考 ++ e.sina.com.cn/downxls.php?date=2011-07-08&symbol=sh600900 收购 ...

  8. 让瘫痪失语患者「说话」,脑机接口首次从大脑活动解码完整句子,登上新英格兰医学杂志...

    视学算法报道 转载自:机器之心 编辑:杜伟.陈萍 Facebook 与加州大学旧金山分校(UCSF)Chang Lab 的脑机接口项目 Project Steno 取得了最新进展,该研究通过解码从运动 ...

  9. yii2 请求外部api_微服务架构之「 API网关 」

    作者:奎哥来自公众号:不止思考 在微服务架构的系列文章中,前面已经通过文章<架构设计之「服务注册 」>介绍过了服务注册的原理和应用,今天这篇文章我们来聊一聊「 API网关 」. 「 API ...

最新文章

  1. vim windows linux文件格式转换
  2. Parser in C
  3. python做的数据图表怎么在flask中显示_Flask使用Pyecharts在单个页面展示多个图表的方法...
  4. php导出页面word,php导出生成word的方法_PHP
  5. 检测跟踪分割网络笔记
  6. SQLite Version3.3.6源代码文件结构
  7. 干货 | 国内互联网公司是如何做微服务实践的?(附PPT下载)
  8. DBeaverEE7.3.0安装教程
  9. LNMP平台对接redis服务
  10. Delphi 对象的创建(create)与释放(free/destory)
  11. java ant war包_java利用Ant脚本生成war包全过程
  12. 防火墙contos6.8操作手册
  13. 高级JAVA - 利用函数式接口实现通用的取并集/交集/差集
  14. zabbix无效监控项_zabbix4.2zabbix自定义监控项、添加新的监控项
  15. I.MX6 U-boot Kernel backlight setting
  16. Arduino开发遥控小车(二)基于nRF24L01无线模块实现数据发送和接收
  17. 如何制作/输入 英语/美语音标
  18. java发布geoserver样式(sld样式)
  19. Drupal7 常用配置
  20. Pyinstaller打包

热门文章

  1. 删除重复数据只保留一条数据
  2. Archive of Our Own_影视 | 怪兽大战外星人外传:活死人萝卜之夜 Night.of.the.Living.Carrots...
  3. Android 高德地图——地图模拟导航
  4. 因果,因果推断,因果关系是什么?
  5. 潘粤明、富而喜悦齐预测卡塔尔世界杯巴西必夺冠走红网络!
  6. BeanFactory和applicationContext区别
  7. Linux 浅薄的认知笔记
  8. 对定向天线的浅薄理解
  9. 一招解决MySql Specified key was too long; max key length is 767 bytes
  10. 解决chrome71.0以上版本flash永久允许