当前位置: 首页 > news >正文

Feign的调用demo 和 EnableFeignClients的包名

在你的场景下,如果刷题微服务通过 Maven 引入了 auth-api 模块,并且 auth-api 中定义了 Feign 接口(例如获取用户名的方法),你需要在 刷题微服务 中的启动类上配置 @EnableFeignClients 注解。配置中 basePackages 参数应该填写 Feign 接口所在包的 全限定包名(即 auth-api 模块中定义接口的包路径)。


项目结构如下

 

Feign 接口定义(在 auth-api 模块中)

  • name: 必须和权限微服务 auth-servicespring.application.name 保持一致。
  • path: 对应权限服务中的接口路径。

刷题微服务中的配置(QuestionApplication

在刷题微服务中引入 auth-api 模块,并在启动类上配置 @EnableFeignClients,指向 Feign 接口所在的包 com.provider.auth.api

Maven 引入 auth-api

question-servicepom.xml 中添加依赖:

<dependency>
    <groupId>com.provider</groupId>
    <artifactId>auth-api</artifactId>
    <version>1.0.0</version>
</dependency>

启动类配置 @EnableFeignClients

启动类的完整配置:

package com.provider.question;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;@EnableFeignClients(basePackages = "com.provider.auth.api") // 指向 auth-api 中的接口包
@SpringBootApplication
public class QuestionApplication {public static void main(String[] args) {SpringApplication.run(QuestionApplication.class, args);}
}


权限服务的配置(auth-service

在权限微服务中,确保接口路径 /auth/getUsername 存在并正确实现:

package com.provider.auth.service;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/auth")
public class UserService {@GetMapping("/getUsername")public String getUsername(@RequestParam("userId") Long userId) {// 返回用户名逻辑return "User-" + userId;}
}
  • 确保 auth-servicespring.application.name 配置为 auth-service

spring:
  application:
    name: auth-service
server:
  port: 8081


调用接口示例

在刷题微服务中,注入 UserFeignClient 并调用权限微服务的接口:

package com.provider.question.service;import com.provider.auth.api.UserFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class QuestionService {@Autowiredprivate UserFeignClient userFeignClient;public String getUsername(Long userId) {return userFeignClient.getUsername(userId);}
}

关键点总结

  1. @EnableFeignClients 的配置

    • 配置 basePackages 为 Feign 接口所在的包路径,例如:com.provider.auth.api
    • 这个包路径是 auth-api 模块中定义的 Feign 接口所在的包名。
  2. Maven 依赖

    • 确保刷题微服务正确引入了 auth-api 模块的依赖。
  3. 服务名匹配

    • 确保 @FeignClient(name = "auth-service") 中的 name 与权限微服务的 spring.application.name 一致。
  4. 注册中心

    • 如果使用注册中心(如 Eureka、Nacos),确保权限服务正常注册,并能被刷题微服务发现。

相关文章:

Feign的调用demo 和 EnableFeignClients的包名

在你的场景下&#xff0c;如果刷题微服务通过 Maven 引入了 auth-api 模块&#xff0c;并且 auth-api 中定义了 Feign 接口&#xff08;例如获取用户名的方法&#xff09;&#xff0c;你需要在 刷题微服务 中的启动类上配置 EnableFeignClients 注解。配置中 basePackages 参数…...

简化开发流程:如何通过 JDBC 自动生成符合 Java 命名规范的实体类

在这篇博客中&#xff0c;我分享了如何通过 Java 和 JDBC 自动生成数据库实体类的过程。通常&#xff0c;手动编写实体类代码既繁琐又容易出错&#xff0c;尤其是在数据库表结构发生变化时&#xff0c;手动更新代码的工作量非常大。为了提高开发效率&#xff0c;我利用 JDBC 连…...

W25Q128存储器详解

可能有很多小伙伴对 W25Q128 感到陌生&#xff0c;说白了它就是一个存储芯片。它是一款高性能、容量较大的闪存存储器芯片&#xff0c;通过 SPI 接口进行通信&#xff0c;适用于各种需要高速、大容量数据存储的场合。常用于嵌入式系统中&#xff0c;作为程序代码存储器或配置数…...

Vite系列课程 | 11. Vite 配置文件中 CSS 配置(Modules 模块化篇)

11. Vite 配置文件中 CSS 配置&#xff08;Modules 模块化篇&#xff09; 由于课程讲的是 vite2 版本&#xff0c;所以我阅读了 vite6 中的文档&#xff0c;下面将结合 css.modules 的接口进行讲解 CSSModulesOptions 接口文档 interface CSSModulesOptions {/*** 用户可以自…...

Everspin代理MR25H10CDFR存储MRAM

RAMSUN提供的MR25H10CDFR是一款具备1,048,576位存储容量的磁阻随机存取存储器&#xff08;MRAM&#xff09;设备&#xff0c;由131,072个8位字构成。该设备提供与串行EEPROM和串行闪存兼容的读/写时序&#xff0c;无写延迟&#xff0c;并且其读/写寿命是不受限制的。 与其它串…...

cesium小知识:使用 EntityCollection的方法

EntityCollection 是 Cesium 中用于管理一组 Entity 的集合对象。它提供了一种高效的方式来批量添加、移除和操作多个实体,同时支持事件监听,以便在集合中的实体发生变化时执行特定的逻辑。 下面是如何使用 EntityCollection 的一些基本指导: 创建 EntityCollection 当你…...

Java 日志类库

Java 日志库是最能体现 Java 库在进化中的渊源关系的&#xff0c;在理解时重点理解日志框架本身和日志门面&#xff0c;以及比较好的时间等。要关注其历史渊源和设计&#xff08;比如桥接&#xff09;&#xff0c;而具体在使用时查询接口即可&#xff0c;否则会陷入 JUL&#x…...

【Unity3D】Particle粒子特效或3D物体显示在UGUI上的方案

目录 一、RawImage Camera RenderTexture方式 &#xff08;1&#xff09;扩展知识&#xff1a;实现射线检测RawImage内的3D物体 &#xff08;2&#xff09;扩展知识&#xff1a;实现粒子特效显示RawImage上 二、UI摄像机 Canvas(Screen Space - Camera模式)方式 &#…...

有没有检测吸烟的软件 ai视频检测分析厂区抽烟报警#Python

在现代厂区管理中&#xff0c;安全与规范是重中之重&#xff0c;而吸烟行为的管控则是其中关键一环。传统的禁烟管理方式往往依赖人工巡逻&#xff0c;效率低且存在监管死角&#xff0c;难以满足当下复杂多变的厂区环境需求。此时&#xff0c;AI视频检测技术应运而生&#xff0…...

《鸣潮》游戏运行时弹出“xinput1_3.dll文件缺失”错误的处理方法,“xinput1_3.dll文件缺失”详解!

一、xinput1_3.dll文件的重要性 xinput1_3.dll是DirectX组件中的一个重要文件&#xff0c;它负责处理与Xbox 360控制器相关的输入功能。尽管《鸣潮》可能并不直接依赖于Xbox控制器&#xff0c;但许多现代游戏和应用程序都会调用这个DLL文件来处理各种输入设备的功能。因此&…...

大模型应用—HivisionIDPhotos 证件照在线制作!支持离线、换装、美颜等

HivisionIDPhotos 证件照在线制作!支持离线、换装、美颜等 ivisionIDPhotos 是一款功能强大的开源证件照生成工具。用户只需上传一张人像照片,它就能智能裁剪为一寸、两寸等标准尺寸,同时自动去除背景并渲染新的背景颜色,例如蓝色、白色、红色,还支持渐变色和自定义颜色。…...

解决Ubuntu下无法装载 Windows D盘的问题

电脑安装了 Windows 和 Ubuntu 24.04 后&#xff0c;在Ubuntu系统上装载 D盘&#xff0c;发现无法装载错误如下&#xff1a; Error mounting /dev/nvme0n1p4 at /media/jackeysong/Data: wrong fs type, bad option, bad superblock on /dev/nvme0n1p4, missing codepage or h…...

一体成型电感

一体成型电感是通过铁粉模压成型而成的同封装条件下实现更大的额定电流&#xff0c;且更适合批量自动化生产&#xff0c;较传统绕线电感有成本优势。同时&#xff0c;一体成型电感与磁封胶结构电感相比具有更好的磁屏蔽效果&#xff0c;适合EMI无法调试通过的项目使用。 但一体…...

Reed-Muller(RM)码之编码

点个关注吧! 看了一些中文的博客,RM码没有很详细的资料,所以本文尝试给出推导原理。 推导 RM码由 ( r , m ) ( r , m ) (r,m...

【蓝桥杯——物联网设计与开发】基础模块8 - RTC

目录 一、RTC &#xff08;1&#xff09;资源介绍 &#x1f505;简介 &#x1f505;时钟与分频&#xff08;十分重要‼️&#xff09; &#xff08;2&#xff09;STM32CubeMX 软件配置 &#xff08;3&#xff09;代码编写 &#xff08;4&#xff09;实验现象 二、RTC接口…...

聚类算法DBSCAN 改进总结

目录 DBSCAN(Density-Based Spatial Clustering of Applications with Noise) 1. HDBSCAN (Hierarchical DBSCAN) 优点: 安装: 使用实例1 效果失败 使用实例2 3. DBSCAN++ (DBSCAN with Preprocessing) 4. DBSCAN with k-distance 5. Density Peaks Clustering (DP…...

uniapp开发微信小程序实现获取“我的位置”

1. 创建GetLocation项目 使用HBuilder X创建一个项目GetLocation,使用Vue3。 2. 在腾讯地图开放平台中创建应用 要获取位置,在小程序中需要使用腾讯地图或是高德地图。下面以腾讯地图为例。 (1)打开腾讯地图开放平台官方网址:腾讯位置服务 - 立足生态,连接未来 (2)注册…...

java中两个系统进行非对称加密,两个系统的公私钥可以用一套吗?

在非对称加密中&#xff0c;每个参与方应该拥有自己独立的一套公钥和私钥。非对称加密的基础在于公钥和私钥的配对使用&#xff1a;一个密钥用于加密信息&#xff0c;则另一个对应的密钥用于解密信息。具体来说&#xff1a; 如果A要发送一条保密消息给B&#xff0c;那么A会使用…...

无人设备遥控器之定向天线篇

一、定义与功能 定向天线&#xff0c;顾名思义&#xff0c;是通过改变天线的辐射方向&#xff0c;实现信号发射、接收和增强的天线。它可以让信号以更高的功率、更远的距离传输到指定区域&#xff0c;同时也能够降低与周围天线之间的干扰。在无人设备遥控器中&#xff0c;定向天…...

【电路笔记 信号】Metastability 平均故障间隔时间(MTBF)公式推导:进入亚稳态+退出亚稳态+同步器的可靠性计算

这是一个简化的电路分析模型。图2中的典型触发器包括主锁存器、从锁存器和去耦反相器(这个结构类似 主从边沿触发器)。 在亚稳态中&#xff0c;主锁存器的节点A、B的电压电平大致在逻辑“1”&#xff08;VDD&#xff09;和“0”&#xff08;GND&#xff09;之间。确切的电压电平…...

计算机视觉:原理、分类与应用

计算机视觉是当今科技领域中一个至关重要的分支&#xff0c;它赋予了计算机通过视觉感知和理解世界的能力。简单来说&#xff0c;计算机视觉实现了对图像、视频等视觉数据的分析、处理、识别和理解。这是一个跨学科的研究领域&#xff0c;涉及计算机科学、信息工程、数学、物理…...

Vue.js组件开发-使用watch进行深度观察

在Vue.js中&#xff0c;watch选项允许观察和响应Vue实例上数据的变化。当需要对某个数据属性进行深度观察&#xff0c;即在其内部嵌套的对象或数组发生变化时也能触发回调时&#xff0c;可以使用deep选项。 示例&#xff1a; new Vue({el: #app,data: {user: {name: John,age…...

明厨亮灶系统

校园食堂明厨亮灶AI分析系统通过yolov5网络模型技术&#xff0c;校园食堂明厨亮灶监控分析系统针对校园餐厅后厨不按要求戴口罩、不穿厨师帽、陌生人员进入后厨、厨师不穿厨师服、上班时间玩手机、老鼠识别等行为校园食堂明厨亮灶监控分析系统自动识别抓拍告警。Yolo算法&#…...

虚幻引擎结构之AActor

在虚幻引擎中&#xff0c;AActor 是一个核心类&#xff0c;作为游戏世界内所有可交互对象的基础。任何可以在关卡中放置或动态生成的对象&#xff0c;几乎都是从 AActor 类派生而来。这包括但不限于角色、道具、特效、静态和动态物体等。 1. AActor 的基本概念 AActor 作为基类…...

基于JAVA+SpringBoot+Vue的制造装备物联及生产管理ERP系统

基于JAVASpringBootVue的制造装备物联及生产管理ERP系统 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末附源码下载链接&am…...

JAVA HTTP压缩数据

/*** 压缩数据包** param code* param data* param resp* throws IOException*/protected void writeZipResult(int code, Object data, HttpServletResponse resp) throws IOException {resp.setHeader("Content-Encoding", "gzip");// write到客户端resp…...

VSCode 配置远程连接免密登录 插件

自我存档 远程连接免密登录 远程连接 在扩展界面搜remote ssh 安装完成后可以在侧边栏找到远程资源管理器 通过来添加或者点击打开ssh配置文件 点击的话以这种方式, 手动添加则按照相同格式输入即可 格式如下所示, Host后添加IP, User是登录ssh的用户, hostname是显示在…...

VIVO C++开发面试题及参考答案

面向过程与面向对象的区别,面向对象后的好处 面向过程编程主要关注的是程序的流程,它将一个问题分解为一系列的步骤,通过函数来实现这些步骤,数据和操作这些数据的函数是分离的。例如,在一个简单的计算学生成绩平均值的程序中,我们可能会有一些函数来输入成绩、计算总和、…...

Unity3D用正则判断身份证号或邮箱

系列文章目录 unity工具 文章目录 系列文章目录👉前言👉一、正则判断邮箱格式👉二、正则判断身份证号👉壁纸分享👉总结👉前言 C#正则表达式(Regex)是一种用来匹配字符串模式的强大工具。在C#中,可以使用System.Text.RegularExpressions命名空间下的Regex类来处…...

【终端工具】FinalShell v4.5.12 官方版

1.下载地址 【终端工具】FinalShell v4.5.12 官方版 2.简介 FinalShell是一款免费的跨平台远程管理工具&#xff0c;专为开发者和运维人员设计。它支持通过 SSH、SFTP 等方式连接到 Linux 和 Windows 服务器&#xff0c;提供类似于终端的操作界面。除了常规的远程登录功能&a…...