iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >解决SpringCloud Feign传对象参数调用失败的问题
  • 836
分享到

解决SpringCloud Feign传对象参数调用失败的问题

2024-04-02 19:04:59 836人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

SpringCloud Feign传对象参数调用失败 不支持GET请求方式 使用Apache HttpClient替换Feign原生httpclient @

SpringCloud Feign传对象参数调用失败

  • 不支持GET请求方式
  • 使用Apache HttpClient替换Feign原生httpclient
  • @RequestBody接收JSON参数

bootstrap-local.yml


feign:
  httpclient:
    enabled: true

pom.xml


<!-- 使用Apache HttpClient替换Feign原生httpclient -->
<dependency>
    <groupId>com.netflix.feign</groupId>
    <artifactId>feign-httpclient</artifactId>
    <version>8.18.0</version>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.3</version>
</dependency>

feignClient:


@FeignClient(name = "hd-ucenter-server", fallback = SysTestServerFallbackImpl.class)
public interface SysTestServer { 
    @RequestMapping(value = "/test/test", method = RequestMethod.POST, consumes = "application/json")
    Object test(CurrentUser currentUser);
}

RestController:


@RestController
@PostMapping("/test")
public class TestController {
 
    @RequestMapping(value = "/test")
    public Object test(@RequestBody CurrentUser currentUser) {
        System.out.printf("调用test\n");
       return currentUser;
    }
}

springCloud中Feign异常无法传递的问题

因为 cloud内部抛出异常不进行处理,Feign获取spring默认包装异常结果如下:

{
"timestamp": "2017-12-27 15:01:53",
"status": 500,
"error": "Internal Server Error",
"exception": "com.keruyun.loyalty.commons.master.exception.BusinessException",
"message": "Request processing failed; nested exception is {\"code\":1000, \"message\":\"test Exception\"}",
"path": "/coupon/cloud/commercial/8469"
}

自定义的异常处理下返回状态


@Slf4j
@RestControllerAdvice
public class GlobalExceptionHandlerResolver {
 
    //内部服务异常处理
    @ExceptionHandler(InternalapiException.class)
    public ResultResp<?> handleGlobalException(httpservletResponse response, InternalApiException internalApiException) {
        ResultResp<?> resultResp = internalApiException.getResultResp();
        log.error(internalApiException.getMessage(), internalApiException);
        response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());//返回500异常
        response.setContentType(MediaType.APPLICATION_JSON_UTF8.toString());
        return resultResp;
    }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 解决SpringCloud Feign传对象参数调用失败的问题

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

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

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

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

下载Word文档
猜你喜欢
  • 解决SpringCloud Feign传对象参数调用失败的问题
    SpringCloud Feign传对象参数调用失败 不支持GET请求方式 使用Apache HttpClient替换Feign原生httpclient @...
    99+
    2022-11-12
  • SpringCloud中的Feign远程调用接口传参失败问题
    目录Feign远程调用接口传参失败这是调用者这是feign的client这是被调者Feign远程调用的注意点定义的做远程调用的api接口service微服务中的Controller的...
    99+
    2022-11-13
  • 解决SpringCloud Feign异步调用传参问题
    背景 各个子系统之间通过feign调用,每个服务提供方需要验证每个请求header里的token。 public void invokeFeign() throws Exceptio...
    99+
    2022-11-13
  • 如何解决springcloud feign 首次调用100%失败的问题
    叙述 在高并发情况下发布应用时,经常会发现监控中有很多超时报错或者断路器打开,下图中可以看到监控情况,测试时也会偶现第一次feign调用出错,第二次就会恢复正常。 分析 大...
    99+
    2022-11-12
  • 解决Feign调用的GET参数传递的问题
    目录需求思考GET方式请求①GET方式请求②GET方式请求③需求 ​ 在消费方服务通过GET方式,访问服务提供方的接口,需要传递多参数,拆分成多个参数的方式访问,不太适合用在该场景,...
    99+
    2022-11-13
  • SpringCloud feign对象传参和普通传参及遇到的坑如何解决
    这篇文章主要介绍“SpringCloud feign对象传参和普通传参及遇到的坑如何解决”,在日常操作中,相信很多人在SpringCloud feign对象传参和普通传参及遇到的坑如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的...
    99+
    2023-06-29
  • 如何解决Feign调用的GET参数传递的问题
    这篇文章主要介绍了如何解决Feign调用的GET参数传递的问题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何解决Feign调用的GET参数传递的问题文章都会有所收获,下面我们一起来看看吧。需求在消费方服务通...
    99+
    2023-06-29
  • feign参数过多导致调用失败的解决方案
    目录feign参数过多调用失败错误信息报这个错误的原因是因为给出了两种解决办法feign多参数传递踩坑记录场景现在的问题是解决方案feign参数过多调用失败 错误信息 JSON pa...
    99+
    2022-11-13
  • 使用Feign远程调用时,序列化对象失败的解决
    Feign远程调用序列化对象失败 最近在搭建一个SpringCloud的微服务时,遇到了一个问题,在使用Feign远程调用时报错,返回对象没有无参构造方法,有其他的含参数的构造方法。...
    99+
    2022-11-12
  • 如何解决SpringCloud Feign传输Date类型参数存在误差的问题
    这篇文章将为大家详细讲解有关如何解决SpringCloud Feign传输Date类型参数存在误差的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Feign传输Date类型参数存在误差最近在...
    99+
    2023-06-29
  • 基于Feign传输对象无法接收参数的问题
    目录Feign传输对象无法接收参数Feign参数传递问题记录API层接口层Feign传输对象无法接收参数 今天碰到问题,当我们使用对象作为参数传输时,无法获得其参数值。  @Requ...
    99+
    2022-11-13
  • 使用Feign远程调用时序列化对象失败怎么解决
    本篇内容介绍了“使用Feign远程调用时序列化对象失败怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Feign远程调用序列化对象失败...
    99+
    2023-06-20
  • mapper的对象传参问题如何解决
    如果您指的是在Python中使用`mapper`对象时的参数传递问题,可以使用以下两种方式解决:1. 使用`mapper`对象的`c...
    99+
    2023-10-12
    mapper
  • 解决Callable的对象中,用@Autowired注入别的对象失败问题
    实现Callable的对象中,用@Autowired注入别的对象失败 场景是这样: 我需要在一个实现类A中写一个拿到返回值的多线程,于是用的Callable,在这个实现类A外我又写了...
    99+
    2022-11-12
  • 关于feign调用的参数传递问题(@RequestBody和@RequestParam)
    目录feign调用的参数传递问题错误写法正确写法body的正确形式feign传参总结返回实体对象 服务提供者 restful传参 服务提供者传实体对象 服务提供者feign...
    99+
    2022-11-13
  • 解决netty中spring对象注入失败的问题
    目录netty中spring对象注入失败发现了问题所在在netty中注入spring成份可以通过以下方式netty中spring对象注入失败 今天在做项目的时候发现在netty中注入...
    99+
    2022-11-13
  • springcloud本地调试feign调用出现的诡异404问题及解决
    目录本地调试feign调用出现的诡异404问题问题产生技术框架核心代码诡异的404心态springcloud在本地调试的踩坑记录1、在本地调试的时候2、修改配置文件中关于eureka...
    99+
    2022-11-13
  • mybatisplus中的xml对象参数传递问题怎么解决
    这篇“mybatisplus中的xml对象参数传递问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mybatisp...
    99+
    2023-07-04
  • vue路由传参接收以及传参对象为对象时的问题及解决
    目录路由传参接收以及传参对象为对象时的问题场景接收路由参数vue路由传参总结Vue路由传参路由传参接收以及传参对象为对象时的问题 具体代码如下所示: 场景 <div @clic...
    99+
    2022-11-13
  • feign远程调用无法传递对象属性405的问题
    目录feign远程调用无法传递对象属性get请求405错误使用feign请求远端客户端服务端feign.FeignException$MethodNotAllowedstatus 4...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作