「Feign-Http」 Feign请求http接口
没有接触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接口相关推荐
- PHP和ajax请求_「jQuery+PHP」ajax请求以及接口PHP响应教程
各位客官好,平时我们在开发时,不可避免的会用到Ajax与后台做数据交互,那么今天小编今天就给各位没有用过Ajax的客官以及准备接触的客官讲解一下,并且小编会为大家讲一下请求时的loading层等待以及 ...
- java 常用 函数式接口_「java8系列」神奇的函数式接口
前言 在上一篇Lambda的讲解中我们就提到过函数式接口,比如:Consumer consumer = (s) -> System.out.println(s);其中Consumer就是一个函数 ...
- python requests 400错误_「http 400」http请求报400错误的原因分析 - seo实验室
http 400 http 400 错误 - 请求无效 (Bad request) 在ajax请求后台数据时有时会报 HTTP 400 错误 - 请求无效 (Bad request);出现这个请求无效 ...
- 哔哩哔哩「会员购」业务网关的研发赋能实践
作者 沈佳伟 哔哩哔哩会员购架构师 写在前面 网关是个每隔一段时间就会被请出来「鞭尸」的概念,概念本身的起源已经无从考究.随着微服务和云原生的兴起,网关也伴随着不同的使用场景在各个领域进行细分和进化. ...
- java8 lambda maplist排序_「java8系列」流式编程Stream
前言 「Java8系列」神秘的Lambda 「Java8系列」神奇的函数式接口 继上两篇之后,本文已经java8系列的第三篇了.本篇文章比较长,但我希望大家都能认真读完.读不完可以先收藏,在找时间读. ...
- 直接请求接口_「软件测试教程」基于postman进行接口测试实战
一:接口测试前准备 接口测试是基于协议的功能黑盒测试,在进行接口测试之前,我们要了解接口的信息,然后才知道怎么来测试一个接口,如何完整的校验接口的响应值. 那么问题来了,那接口信息从哪里获取呢?常用的 ...
- php获取股票接口数据接口,「股票数据」 使用Sina API获取新浪财经的证券股票数据接口(时价 K线等)...
在互联网上找到的新浪API的财务API表示Mark,以供将来参考 ++ e.sina.com.cn/downxls.php?date=2011-07-08&symbol=sh600900 收购 ...
- 让瘫痪失语患者「说话」,脑机接口首次从大脑活动解码完整句子,登上新英格兰医学杂志...
视学算法报道 转载自:机器之心 编辑:杜伟.陈萍 Facebook 与加州大学旧金山分校(UCSF)Chang Lab 的脑机接口项目 Project Steno 取得了最新进展,该研究通过解码从运动 ...
- yii2 请求外部api_微服务架构之「 API网关 」
作者:奎哥来自公众号:不止思考 在微服务架构的系列文章中,前面已经通过文章<架构设计之「服务注册 」>介绍过了服务注册的原理和应用,今天这篇文章我们来聊一聊「 API网关 」. 「 API ...
最新文章
- vim windows linux文件格式转换
- Parser in C
- python做的数据图表怎么在flask中显示_Flask使用Pyecharts在单个页面展示多个图表的方法...
- php导出页面word,php导出生成word的方法_PHP
- 检测跟踪分割网络笔记
- SQLite Version3.3.6源代码文件结构
- 干货 | 国内互联网公司是如何做微服务实践的?(附PPT下载)
- DBeaverEE7.3.0安装教程
- LNMP平台对接redis服务
- Delphi 对象的创建(create)与释放(free/destory)
- java ant war包_java利用Ant脚本生成war包全过程
- 防火墙contos6.8操作手册
- 高级JAVA - 利用函数式接口实现通用的取并集/交集/差集
- zabbix无效监控项_zabbix4.2zabbix自定义监控项、添加新的监控项
- I.MX6 U-boot Kernel backlight setting
- Arduino开发遥控小车(二)基于nRF24L01无线模块实现数据发送和接收
- 如何制作/输入 英语/美语音标
- java发布geoserver样式(sld样式)
- Drupal7 常用配置
- Pyinstaller打包
热门文章
- 删除重复数据只保留一条数据
- Archive of Our Own_影视 | 怪兽大战外星人外传:活死人萝卜之夜 Night.of.the.Living.Carrots...
- Android 高德地图——地图模拟导航
- 因果,因果推断,因果关系是什么?
- 潘粤明、富而喜悦齐预测卡塔尔世界杯巴西必夺冠走红网络!
- BeanFactory和applicationContext区别
- Linux 浅薄的认知笔记
- 对定向天线的浅薄理解
- 一招解决MySql Specified key was too long; max key length is 767 bytes
- 解决chrome71.0以上版本flash永久允许