iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >SpringCloud基于Feign的可编程式接口怎么调用
  • 497
分享到

SpringCloud基于Feign的可编程式接口怎么调用

2023-06-30 04:06:36 497人浏览 八月长安
摘要

今天小编给大家分享一下SpringCloud基于Feign的可编程式接口怎么调用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧

今天小编给大家分享一下SpringCloud基于Feign的可编程式接口怎么调用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

前言

Feign 可以替代 RestTemplate 完成可编程式接口调用,并且内部集成 Ribbon 实现了负载均衡

SpringCloud基于Feign的可编程式接口怎么调用

一、基本使用

1.引依赖

pom文件增加 openfeign 依赖

<!-- feign --><dependency>    <groupId>org.springframework.cloud</groupId>    <artifactId>spring-cloud-starter-openfeign</artifactId></dependency>

2.加注解

启动类上增加 @EnableFeignClients 注解

@EnableFeignClients@SpringBootApplicationpublic class OrderApplication {    public static void main(String[] args) {        SpringApplication.run(OrderApplication.class, args);    }}

3.声明接口

创建client包,包下放使用到的接口

SpringCloud基于Feign的可编程式接口怎么调用

package com.cxstar.client;import com.alibaba.fastJSON.jsONObject;import org.springframework.cloud.openfeign.FeignClient;import org.springframework.WEB.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;@FeignClient("bookschina-service")@RequestMapping("/bookschina")public interface BookschinaClient {    @GetMapping("/spiderBookList/{searchkey}/{pageno}")    JSONObject searchBookschina(            @PathVariable("searchkey") String searchKey,            @PathVariable("pageno") Integer pageNo    );}

直接把你需要调用的微服务里的controller类复制一份过来,修修改改就行了
ps:
1.@FeignClient(“bookschina-service”):访问 spring.application.name=bookschina-service 的微服务
2.@RequestMapping、@GetMapping、@PathVariable 用来映射地址,和controller中的用法一样
3.上面这个接口对应的就是 bookschina-service 微服务下映射地址为 /bookschina/spiderBookList/{searchkey}/{pageno} 的controller类方法

SpringCloud基于Feign的可编程式接口怎么调用

4.调用

测试类如下

package com.cxstar;import com.alibaba.fastjson.JSONObject;import com.cxstar.client.BookschinaClient;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;@Slf4j@SpringBootTestclass OrderApplicationTests {    @Autowired    private BookschinaClient bookschinaClient;    void booksChinaTest() {    // 参数        String searchKey = "东野圭吾";        Integer pageNo = 1;// 调用        JSONObject booksJB = bookschinaClient.searchBookschina(searchKey, pageNo);        log.info(booksJB.toString());    }}

二、进阶

1.日志配置

application 文件中加入配置

feign:  client:    config:      default:                      # default 全局配置,局部配置的话可以换成请求的服务名称        loggerLevel: NONE# 日志级别 NONE BASIC HEADERS FULL

ps:
1.NONE:没有日志
2.BASIC:记录Http请求发送目标、发送时间、返回时间、总耗时等信息
3.HEADERS:在 BASIC 基础上记录 请求头 和 响应头 信息
4.FULL:在 BASIC 和 HEADERS 的基础上记录 请求体 和 响应体 信息
5.上线后为了优化性能 日志级别尽量用 NONE 或者 BASIC

2.性能优化

Feign底层客户端默认实现是 URLConnection,不支持连接池,每次http请求都要三次握手,断开时四次挥手,有点浪费性能,可以用 Apache HttpClient 替代 URLConnection

<1>pom 引入依赖

<!-- feign 连接池 --><dependency>    <groupId>io.GitHub.openfeign</groupId>    <artifactId>feign-httpclient</artifactId></dependency>

<2>application 文件中加入配置

feign:  httpclient:    enabled: true                   # 开启feign对 httpclient 的支持    max-connections: 200            # 最大连接数    max-connections-per-route: 50   # 每个请求接口的最大连接数

ps:
max-connections 和 max-connections-per-route 的值需要根据具体情况设定

以上就是“SprinGCloud基于Feign的可编程式接口怎么调用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: SpringCloud基于Feign的可编程式接口怎么调用

本文链接: https://www.lsjlt.com/news/327410.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringCloud基于Feign的可编程式接口怎么调用
    今天小编给大家分享一下SpringCloud基于Feign的可编程式接口怎么调用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-06-30
  • SpringCloud基于Feign的可编程式接口调用实现
    目录前言一、基本使用1.引依赖2.加注解3.声明接口4.调用二、进阶1.日志配置2.性能优化前言 Feign 可以替代 RestTemplate 完成可编程式接口调用,并且内部集成 ...
    99+
    2024-04-02
  • SpringCloud中的Feign远程调用接口传参失败问题
    目录Feign远程调用接口传参失败这是调用者这是feign的client这是被调者Feign远程调用的注意点定义的做远程调用的api接口service微服务中的Controller的...
    99+
    2024-04-02
  • 怎么在SpringBoot中利用Feign调用其他服务接口
    本篇文章给大家分享的是有关怎么在SpringBoot中利用Feign调用其他服务接口,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。引入依赖<!-- https:...
    99+
    2023-06-14
  • 如何使用Python基于接口编程的方法实现
    目录先通过一个实例来了解下接口到底解决什么问题。 定义一个接口 定义类,继承接口Python 抽象基类的介绍 (PEP3119) 软件行业,唯一不变的就是变化。产品经理会变,产品需求...
    99+
    2024-04-02
  • 基于Consumer接口、Predicate接口初使用是怎样的
    这篇文章将为大家详细讲解有关基于Consumer接口、Predicate接口初使用是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Consumer 接口源码package j...
    99+
    2023-06-22
  • Java微服务间接口调用feign的方法是什么
    今天小编给大家分享一下Java微服务间接口调用feign的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Feign...
    99+
    2023-07-05
  • java远程调用接口、URL的方式
    一:httpUrlConnection 1.获取HttpURLConnection连接对象 public static HttpURLConnection getHttpURLConne...
    99+
    2023-09-17
    java servlet 开发语言
  • Feign 集成 Hystrix实现不同的调用接口不同的设置方式
    问题描述 小编在写项目时遇到一个需求: 假设现在有三个项目A、B、C,其中A、B作为服务提供方,C作为调用方,需要实现C在调用A、B时实现不同的超时时间,比如C调用A时超时是2s,调...
    99+
    2024-04-02
  • SpringCloud服务接口调用OpenFeign及使用的方法是什么
    这篇“SpringCloud服务接口调用OpenFeign及使用的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“S...
    99+
    2023-07-05
  • 微服务之间怎么通过feign调用接口上传文件
    这篇文章主要介绍“微服务之间怎么通过feign调用接口上传文件”,在日常操作中,相信很多人在微服务之间怎么通过feign调用接口上传文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微服务之间怎么通过feig...
    99+
    2023-06-20
  • 基于node.js的聚合数据的短信API接口调用示例
    前期准备 根据运营商的要求,目前此接口只对实名认证的企业用户开放使用,所以在使用之前请确保您是实名认证的企业用户 申请接口,你可以在个人中心 ➡️ 数据中心 ➡️ 我的API 模块看到此接口的调用凭证请求key 接口申请开通入口...
    99+
    2024-04-02
  • java远程调用接口的方式有哪些
    Java远程调用接口的方式有以下几种:1. Java RMI(Remote Method Invocation): Java RMI...
    99+
    2023-10-21
    java
  • Java编程接口调用的作用及代码分享
    很多JAVA初级程序员对于接口存在的意义很疑惑。不知道接口到底是有什么作用,为什么要定义接口。好像定义接口是提前做了个多余的工作。下面我给大家总结了4点关于JAVA中接口存在的意义:  1、重要性:在Java语言中, abstract cl...
    99+
    2023-05-30
    java 接口
  • Java怎么调用HTTPS的接口
    在Java中使用HttpClient调用HTTPS接口,具体方法如下:import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apac...
    99+
    2024-04-02
  • 如何使用PHP编写可用于BASH接口的高效函数?
    在当今数字时代,我们的日常生活越来越离不开计算机和互联网。编程语言是计算机语言,是一种人和计算机交互的方式。PHP是一种广泛使用的编程语言,它可以用于编写Web应用程序,也可以用于编写系统级程序。在本文中,我们将讨论如何使用PHP编写可用...
    99+
    2023-07-30
    bash 接口 函数
  • php怎么调用dll的接口
    在PHP中调用DLL接口,可以使用扩展库`php_extension`来实现。以下是一种常见的方法:1. 确保已安装对应DLL的PH...
    99+
    2023-08-20
    php
  • 基于聚合数据的老黄历接口调用示例-PHP版
    前期准备 接口申请,申请地址—“聚合数据”官网:https://www.juhe.cn/docs/api/id/65 你可以在个人中心 ➡️ 数据中心 ➡️ 我的API 模块看到此接口的调用凭证请求key 接口说明 免费使用,根据会员...
    99+
    2024-04-02
  • 基于聚合数据的老黄历接口调用示例-JAVA版
    本文介绍聚合数据的老黄历接口的使用 依赖 <dependency> <groupId>net.sf.json-lib</groupId> ...
    99+
    2024-04-02
  • 基于聚合数据的短信API接口调用示例-Python版
    一、申请接口 通过https://www.juhe.cn/docs/api/id/54自助申请开通短信API,获得接口请求Key。(目前接口暂只支持企业类用户使用) 申请后,在个人中心提交短信模板,聚合官方已经提供了多个常用模板,可以快捷申...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作