文档章节

Feign的使用方法(个人理解)

o
 osc_odyg6b92
发布于 2018/07/13 15:35
字数 252
阅读 7
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

###Feign代码如下

package com.tydic.vc.adepter.nethall.service;

import feign.*;
import feign.gson.GsonDecoder;
import feign.gson.GsonEncoder;
import feign.slf4j.Slf4jLogger;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Map;

public interface VcServiceFeignClient {
  @RequestLine("GET /user/get1?id={id}&username={username}" )
  public User get1(@Param("id") Long id, @Param("username") String username);

  @RequestLine("GET /user/get1")
  public User get2(@QueryMap Map<String, Object> map);

// @RequestLine("GET /user/get1")
// public User get3(@QueryMap User user);

  //注解@RequestBody可以是map,也可以是pojo,
  //当需要发送Post方法时,参数解析可以用@RequestBody或者@RequestParam,两种效果一样,都支持Map和POJO
  @RequestLine("POST /post")
  @Headers("Content-Type: application/json")
  public User post0(@RequestParam User user);

  @RequestLine("POST /post")
  @Headers("Content-Type: application/json")
  public User post1(@RequestParam Map<String, Object> map);

  static VcServiceFeignClient connect(){
    return Feign.builder()
            .encoder(new GsonEncoder())
            .decoder(new GsonDecoder())
            .logger(new Slf4jLogger())
            .logLevel(feign.Logger.Level.FULL)
            .options(new Request.Options(1000, 3500))
            .retryer(new Retryer.Default(5000, 5000, 3))
            //.target(VcServiceFeignClient.class, "http://localhost:8010/");
            .target(VcServiceFeignClient.class, "http://localhost:8000/");
  }
}

###pom.xml

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <org.springframework.version>4.3.15.RELEASE</org.springframework.version>
        <io.github.openfeign.version>9.3.1</io.github.openfeign.version>
    </properties>

      <dependency>
            <groupId>io.github.openfeign</groupId>
            <artifactId>feign-core</artifactId>
            <version>${io.github.openfeign.version}</version>
        </dependency>
        <dependency>
            <groupId>io.github.openfeign</groupId>
            <artifactId>feign-gson</artifactId>
            <version>${io.github.openfeign.version}</version>
        </dependency>
        <dependency>
            <groupId>io.github.openfeign</groupId>
            <artifactId>feign-slf4j</artifactId>
            <version>${io.github.openfeign.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.25</version>
        </dependency>
o
粉丝 1
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
opm-server-mirror

代码更新 2009-11-25: 加入反爬虫功能。直接Web访问服务器将跳转到Google。 使用方法 下载index.zip 解压index.zip得到index.php 将index.php传到支持php和cURL的国外服务器上 打开 http:/...

luosheng86
2013/01/29
1K
0
tiny php template--TPT

关于TPT TPT是php实现的用于模板解析小工具,全部实现仅仅60行代码。 配置 DIRCOMPILED和DIRTEMPLATE,分别表示模版编译目录和模版文件目录: define('DIRCOMPILED','/compileddiy');define(......

红猪-侠
2013/03/03
1K
1
SQLet

SQLet 可以让你通过简单的一个命令就从文本文件中执行多个 SQL 语句,同时也可以同时执行多个文件文件。 使用方法:>sqlet.py -d';' -A file1.txt -B file2.txt 'select * from A,B where a2...

匿名
2013/03/13
833
0
个人计算机操作系统--eComStation

eComStation(简写为 eCS)是一款基于OS/2,由Serenity Systems发布的个人计算机操作系统。它包含了一系列在OS/2的IBM版本中没有的组件及应用。 eComStation的最初版本v1发布于2001年,基于I...

匿名
2013/03/26
3K
0
JQuery showDialog

使用方法: 先引入jquery库 版本不低于1.4.2 调用函数 showDialog(mode, msg, t, sd_width) 参数说明: 1, mode 模式 a. confirm [确认模式] b. info [显示信息] b. window [AJAX获取网页内容]...

匿名
2012/11/03
9.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在SQL Server中将多行文本合并为单个文本字符串?

问题: Consider a database table holding names, with three rows: 考虑一个包含名称的数据库表,该表具有三行: PeterPaulMary Is there an easy way to turn this into a single str......

富含淀粉
32分钟前
9
0
在JavaScript中生成特定范围内的随机整数? - Generating random whole numbers in JavaScript in a specific range?

问题: 如何可以生成两个指定的变量之间的随机整数在JavaScript中,例如x = 4和y = 8将输出任何的4, 5, 6, 7, 8 ? 解决方案: 参考一: https://stackoom.com/question/6PRz/在JavaScript中...

fyin1314
今天
8
0
Vim清除最后一个搜索突出显示 - Vim clear last search highlighting

问题: Want to improve this post? 想要改善这篇文章吗? Provide detailed answers to this question, including citations and an explanation of why your answer is correct. 提供此问题......

技术盛宴
今天
23
0
马化腾每天刷 Leetcode?代码你打算写到几岁?

本文作者:o****0 前几天,一张未证真伪的截图流传,图中显示马化腾几乎每天都会在 Leetcode 上提交代码。 截图还贴出一个 Leetcode 账户地址。该地址的头像已从马化腾的照片换成腾讯 logo,...

百度开发者中心
前天
13
0
滴滴 3000+ Kylin Cube 背后的实践经验揭秘

本次分享主要有三个部分:Kylin 在滴滴的整体应用、架构的实践经验、滴滴全局字典最新版本的实现以及 Kylin 最新实时 OLAP 探索经验分享。 Kylin 在滴滴的应用&架构 Kylin 在滴滴的三类应用场...

浪尖聊大数据
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部