首页 > 其他分享 >Feign在微服务中的一般使用

Feign在微服务中的一般使用

时间:2022-09-24 19:55:20浏览次数:44  
标签:FeignClient Feign 服务 请求 Controller 使用 java save

1.首先确认配置环境

1.1 是否微服务之间都已注册进配置中心且未被相互隔离(如nacos)

1.2 是否开启注解

/**
 * 使用FeignClient端的微服务(请求)
 **/
 
//Application.java
@EnableDiscoveryClient  //开启微服务配置中心发现功能
@EnableFeignClients(basePackages 
= "com.atguigu.gulimall.member.feign") //开启FeignClient,并设置包地址

//FeignServiceInterface.java
@FeignClient(value = "serviceName") //在每个FeignClient的接口上开启,即可达到RestFul的Api请求效果, value对应响应方微服务的·服务名·(一般写于yml配置文件)

2.具体使用

2.1定义一个微服务之间传输对象TO

将Client请求方的数据封装Bean为TO

2.2类似Controller的写法,与响应方的Controller格式要保持一致

  1. Mapping方式要对齐,即Post Get Put Delete
  2. @RequestBody要对应
  3. 请求方的请求地址要写全,比如下面的"coupon/spubounds/save"
  4. 由于Feign传输也是JSON方式,故请求与响应的对象不需要一致,但属性键值对要一致
/**
 * 使用FeignClient端的微服务(请求)
 **/
 
//FeignServiceInterface.java
@PostMapping("coupon/spubounds/save")
R saveSpuBounds(@RequestBody SpuBoundsTO spuBoundsTO);


/**
 * 接收方微服务(响应)的Controller
 **/
 
//Controller.java
@PostMapping("/save")
public R save(@RequestBody SpuBoundsEntity spuBounds){
	spuBoundsService.save(spuBounds);
    return R.ok();
}

标签:FeignClient,Feign,服务,请求,Controller,使用,java,save
From: https://www.cnblogs.com/Linanjing/p/16726357.html

相关文章

  • Optional使用
     importjava.util.HashMap;importjava.util.Map;//最外层对象publicclassOuter{Nestednested;NestedgetNested(){returnnested;}......
  • qt的基本使用04——添加资源
    添加资源选择项目,右击addnew......
  • 前天为群友写的,使用面向对象的写法封装一个Modal Dialogue Box
    q群里的群友提出的问题“如何使用面向对象的语法封装一个Modal框”我们都知道,现在使用vue,都是用组件去封装的,怎么用对象去封装呢?我比较感兴趣,做了以下尝试下面直接......
  • 使用coverlet统计单元测试的代码覆盖率
    单元测试是个好东西,可以在一定程度上兜底虽然写单元测试这件事情非常麻烦但是好的单元测试可以显著提高代码质量,减少bug,避免无意中的修改导致其他模块出错写测试......
  • Django 使用VScode 创建工程
    一、VSCode创建Django工程VSCode官方:https://code.visualstudio.com1mysite(项目名),创建Django项目,可以和虚拟环境放在同一目录,也可以放在虚拟环境的文件夹里。......
  • markdown语法使用
    markdown语法使用标题系列​1.警号​2.快捷键​ctrl+数字(1~6)小标题系列*文本 无序标题 +文本 无序标题 数......
  • 支付宝沙箱的使用Node.js
    官网https://opendocs.alipay.com/common/02kkv7进入沙箱https://open.alipay.com/develop/sandbox/app下载支付宝开放平台开发助手生成密钥将密钥配置下载安......
  • ABP V7使用-1
    从官方下载模板StartupTemplates-CreateaDemo|AspNetBoilerplate里面前后端,我的时V7.X+NET6+VUE版本的模板 1 打开后端,更换数据库连接,运行可能会报下面这......
  • linux微服务迁移
    shell脚本--拉取代码包背景:jenkins上线项目,更新项目包#!/bin/bash#====================================================#Description:UpdatethepackageforP......
  • 存储数据 cookie localStorage和sessionStorage区别和使用
     三者主要是从三方面区分存储大小,生命周期和安全性1.cookie存储的数据小,在4KB左右生命周期,默认会话结束,可以设置有效期安全性,存储的数据在浏览器的隐私模式下......