依赖:

<properties>
<java.version>1.8</java.version>
<feign-core.version>10.2.0</feign-core.version>
<feign-form.version>2.1.0</feign-form.version>
</properties>

  1.  
  2. <dependency>
  3. <groupId>io.github.openfeign</groupId>
  4. <artifactId>feign-core</artifactId>
  5. <version>${feign-core.version}</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>io.github.openfeign</groupId>
  9. <artifactId>feign-jackson</artifactId>
  10. <version>${feign-core.version}</version>
  11. </dependency>
  12. <dependency>
  13. <groupId>io.github.openfeign.form</groupId>
  14. <artifactId>feign-form</artifactId>
  15. <version>${feign-form.version}</version>
  16. </dependency>
  17. <dependency>
  18. <groupId>io.github.openfeign.form</groupId>
  19. <artifactId>feign-form-spring</artifactId>
  20. <version>${feign-form.version}</version>
  21. </dependency>

或者直接使用依赖:

  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-starter-openfeign</artifactId>
  4. </dependency>

配置:

  1. @Configuration
  2. @ComponentScan(basePackages = "com.icil.elsa.subscribe.milestone.command.web.job")
  3. public class XxlJobConfig {
  4.  
  5. /* @Autowired
  6. private ObjectFactory<HttpMessageConverters> messageConverters*/;
  7.  
  8. private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);
  9.  
  10. @Value("${xxl.job.admin.addresses}")
  11. private String adminAddresses;// http:127.0.0.1:8888
  12. //define feign client
  13. @Bean
  14. public XxService xxService() {
  15. return Feign.builder()
  16. // .encoder(new FormEncoder(new JacksonEncoder())) //如果有表单提交,加上表单编解码
  17. // .decoder(new JacksonDecoder())            //
  18. .target(XxlJobService.class, adminAddresses);
  19. }
  20. }
  1. XxService:
  1. import com.alibaba.fastjson.JSONObject;
  2. import feign.Headers;
  3. import feign.Param;
  4. import feign.RequestLine;
  5.  
  6. import java.util.Map;
  7.  
  8. public interface XxlJobService {
  9.  
  10. @RequestLine("GET /ufl-job-admin/jobinfo/pageList?jobGroup={jobGroup}")
  11. JSONObject pageList(@Param(value = "jobGroup") int jobGroup);
  12.  
  13. @RequestLine("POST /ufl-job-admin/jobinfo/add")
  14. @Headers("Content-Type: application/x-www-form-urlencoded")
  15. JSONObject add(Map<String, ?> form);
  16.  
  17. @RequestLine("GET /ufl-job-admin/jobinfo/start?id={id}")
  18. JSONObject start(@Param(value = "id") int id);
  19.  
  20. @RequestLine("GET /ufl-job-admin/jobinfo/stop?id={id}")
  21. JSONObject stop(@Param(value = "id") int id);
  22. }
  1.  

feign client 的简单使用(1)的更多相关文章

  1. Feign Client 原理和使用

    Feign Client 原理和使用 一块石头 ​ 公众号:好奇心森林 ​关注他 创作声明:内容包含虚构创作 6 人赞同了该文章 最近一个新项目在做后端HTTP库技术选型的时候对比了Spring We ...

  2. No fallback instance of type class found for feign client user-service(转)

    1.错误日志 在 feign 开启熔断,配置 fallback 类,实现当前接口的实现类时,报错信息如下: Error starting ApplicationContext. To display ...

  3. spring cloud feign覆写默认配置级feign client的日志打印

    一.覆写fegin的默认配置 1.新增配置类FeignConfiguration.java package com.config; import org.springframework.context ...

  4. No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-netflix-ribbon?

    ... 60 common frames omittedCaused by: java.lang.IllegalStateException: No Feign Client for loadBala ...

  5. spring cloud关于feign client的调用对象列表参数、设置header参数、多环境动态参数试配

    spring cloud关于feign client的调用 1.有些场景接口参数需要传对象列表参数 2.有些场景接口设置设置权限等约定header参数 3.有些场景虽然用的是feign调用,但并不会走 ...

  6. spring cloud多个消费端重复定义feign client问题

    spring cloud消费端调用服务提供者,有两种方式rest+ribbon和Feign,Feign是一个声明式的伪Http客户端更为简单易用,所以我们项目选用Feign作为服务通讯方式 项目有6个 ...

  7. client交互技术简单介绍

    随着网络应用的不断丰富,client交互技术也如雨后春笋一般,遍地开花. 正是这些技术的支持,我们的互联网世界变得更加丰富多彩.一个浏览器上.不用说是简单的动画效果,就是一个Office应用也能顺畅的 ...

  8. Feign【替换默认的feign client】

    说明: feign默认情况下使用的是JDK原始的URLConnection发送的HTTP请求,没有使用到连接池,但是对每个地址会保持长连接,即HTTP的persistence connection.我 ...

  9. Is it possible to create @Around Aspect for feign.Client

    https://github.com/spring-cloud/spring-cloud-openfeign/issues/59 看到github 有人问这个问题,做了个示例: import org. ...

随机推荐

  1. 实现java随机数Random的几招

    一,在java.util这个包里面提供了一个Random的类,我们可以新建一个Random的对象来产生随机数,可以产生随机整数.随机float.随机double,随机long,这个也是我们经常用的一个 ...

  2. vue中绑定多个class,多个情况使用同一个class时,用js的或 “||”

    class中 当依赖中断的时候是绑定的red,但是这样写绑定不了, 大括号{}里可以下js代码的,下面的orange就可以绑定成功,写成双竖线 形式.

  3. ALGO-22_蓝桥杯_算法训练_数的划分(DP)

    问题描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序). 例如:n=,k=,下面三种分法被认为是相同的. ,,; ,,; ,,; 问有多少种不同的分法. 输入格式 n,k 输出格式 ...

  4. STL中erase()的用法

    erase()是STL提供的容器中比较常用的方法之一,它的功能是删除容器中的某些元素,其中它的函数原型如下: 1.有两个参数,且参数类型都是size_t型: string& erase ( s ...

  5. ObjectId与DateTime的互相转换

    s会用mongdb中经常会需要用到通过“_id”去检查数据,筛选数据,但是想根据具体时间的id每次都需要做一下转换,这样搜索起来就很简单了. ObjectId转DateTime /// <sum ...

  6. ElasticSearch 5.0.0 安装部署常见错误或问题

    1.ERROR: bootstrap checks failed [1]: max file descriptors [65535] for elasticsearch process is too ...

  7. 数据库SQL语言学习--上机练习4(视图)

    上机练习4 一.实验目的 . 熟悉和掌握对数据表中视图的查询操作和 SQL 命令的使用: . 熟悉和掌握对数据表中视图的更新操作和 SQL 命令的使用,并注意视图更新与基本表更新的区别与联系: . 学 ...

  8. Eclipse代码提示补全问题,自动选择第一个

    原地址 http://blog.csdn.net/liuhhaiffeng/article/details/7179243 Eclipse具有代码提示功能, 但是默认的提示只有在输入".&q ...

  9. 面向对象的轮播js

    1.自执行函数的前后要加分号 案例: ;(function(){})(); 2.面向对象的最大优势节省了许多内存 正式开写面向对象的轮播: <!DOCTYPE html> <html ...

  10. (转)Linux 系统服务的启动顺序解析 rc.*

    介绍系统按照不同级别启动时需要启动的服务. 进入目录:etc 执行命令:ls -l | grep "rc.*" | sort 结果如下图:   1 系统在启动时,通过inittab ...