Feign - Error while extracting response for type [class java.lang.String]

2023-05-16

定义Feign接口

  @RequestMapping(produces = MediaType.APPLICATION_JSON_UTF8_VALUE, method = RequestMethod.GET,
            value = "/temp/test/data")
    String testData(@RequestParam("data") String data);

调用Feign接口

  @GetMapping("/internal/test/data")
    public String testData(@RequestParam("data") String data){
        return facadeFeignClient.testData(data);
    }

调用feign接口报错

Caused by: org.springframework.web.client.RestClientException: Error while extracting response for type [class java.lang.String] and content type [application/json;charset=UTF-8]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unrecognized token 'adsf22': was expecting ('true', 'false' or 'null'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'adsf22': was expecting ('true', 'false' or 'null')
 at [Source: (PushbackInputStream); line: 1, column: 13]
	at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:117)
	at org.springframework.cloud.openfeign.support.SpringDecoder.decode(SpringDecoder.java:59)
	at org.springframework.cloud.openfeign.support.ResponseEntityDecoder.decode(ResponseEntityDecoder.java:62)
	at feign.optionals.OptionalDecoder.decode(OptionalDecoder.java:36)
	at feign.SynchronousMethodHandler.decode(SynchronousMethodHandler.java:176)
	... 79 more
Caused by: org.springframework.web.client.RestClientException: Error while extracting response for type [class java.lang.String] and content type [application/json;charset=UTF-8]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unrecognized token 'adsf22': was expecting ('true', 'false' or 'null'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'adsf22': was expecting ('true', 'false' or 'null')
 at [Source: (PushbackInputStream); line: 1, column: 13]
	at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:117)
	at org.springframework.cloud.openfeign.support.SpringDecoder.decode(SpringDecoder.java:59)
	at org.springframework.cloud.openfeign.support.ResponseEntityDecoder.decode(ResponseEntityDecoder.java:62)
	at feign.optionals.OptionalDecoder.decode(OptionalDecoder.java:36)
	at feign.SynchronousMethodHandl

问题分析

在这里插入图片描述

跟踪代码发现,这里的messageConverter只有一个,没有对应的String的converter.
在这里插入图片描述

正确的Converter

在这里插入图片描述

问题根源

项目中HttpMessageConverters这个bean被重写了,且只定义了一个MappingJackson2HttpMessageConverter

    @Bean
    public HttpMessageConverters customConverters() {
        return new HttpMessageConverters(false, Arrays.asList(new MappingJackson2HttpMessageConverter()));
    }

解决方法

删除项目中重写的HttpMessageConverters这个Bean方法

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Feign - Error while extracting response for type [class java.lang.String] 的相关文章

  • FastAPI - 如何在中间件中获取响应正文

    有没有办法在中间件中获取响应内容 以下代码是从here app middleware http async def add process time header request Request call next start time t
  • AJAX 响应时间

    如何计算 AJAX 响应时间 我在脚本中需要这个 因为我得到服务器时间戳 但如果请求花费超过 1 秒 我需要在时间戳上添加 1 秒 您需要获取开始时间 就在 AJAX 请求完成之前 然后获取脚本完成时的结束时间 然后您可以计算出差异 如果大
  • apache HttpClient 中每条路由的最大连接数和总最大连接数之间有什么区别?

    我试图理解它们之间有什么区别 我尝试阅读文档 但没有多大帮助 HttpClientBuilder create setMaxConnPerRoute maxConnectionsPerRoute setMaxConnTotal maxCon
  • 如何微调Spring Cloud Feign客户端?

    春天的云doc http projects spring io spring cloud spring cloud html says 如果 Hystrix 在类路径上 默认情况下 Feign 将包装所有方法 带断路器 这很好 但是如何配置
  • javascript 如何修改 Service Worker 中的当前响应?

    我使用服务工作者使用以下代码修改获取响应 self addEventListener install function event console log install self addEventListener activate fun
  • 当对象属性不正确时 Wcf (400) 错误请求

    我有一个 Wcf 启用 ajax 服务 它接受方法调用的对象 我的 Wcf 方法如下所示 OperationContract XmlSerializerFormat WebInvoke Method POST UriTemplate XML
  • 使用 jersey 客户端将 JSON 响应读取为字符串

    我正在使用 jersey 客户端将文件发布到 REST URI 该 URI 以 JSON 形式返回响应 我的要求是将响应读取为字符串 JSON 以下是将数据发布到 Web 服务的代码段 final ClientResponse client
  • 如何在node.js+express中捕获“响应结束”事件?

    我想编写一个快速中间件函数 它在响应的 结束 事件 如果存在 上设置一个侦听器 目的是根据最终处理程序决定发送的 http 响应代码进行清理 例如记录数据库事务的响应代码和回滚 提交 即 我希望此清理对于最终调用者是透明的 我想在快递中做类
  • Feign 客户端中不支持 Spring Data Pageable 作为 RequestParam

    我一直在尝试为我的其余 api 公开一个 Feign Client 它采用 Pageable 作为输入并定义了 PageDefaults 控制器 GetMapping value data produces MediaType APPLIC
  • 获取 BLE 设备的响应

    我对使用蓝牙设备还很陌生 到目前为止一切都很完美 但有一个问题我不知道如何处理 我有一个 LED 灯设备 我可以改变一切 从颜色到速度 闪烁 褪色等等 现在我想读取当前的设备状态 例如设备是打开还是关闭 我有一份该设备的文件 上面写着 询问
  • 您可以从另一台服务器发送 HTTP 响应吗?

    也许是愚蠢的问题 我最近一直在玩 Node js 喜欢设置服务器和发出请求等是多么容易 我还没有尝试过 但想知道如何将数据从一个请求转发到另一台服务器 并有第二个服务器向客户端发送响应 这可能吗 i e 客户端 gt 服务器 A gt 服务
  • Open Feignclient 与 Netflix Ribbon 集成在 springboot 中不起作用

    Feing客户端服务器 RestController public class FeinApiCall Autowired CustomFeignClient customFeignClient GetMapping getinfothro
  • Angular6 - 读取文本/纯文本的响应正文

    我正在执行注册操作 当用户成功注册时 我会在后端返回他的 ID 例如 105 当注册失败 用户已存在 时 我返回 USER EXISTS 我已经在 Postman 上检查了请求 响应正文是正确的 在这两种情况下 我都会返回 纯文本 文本 但
  • Response.End 之后关闭窗口

    例如我有一个表格ListView即处于编辑模式 发生了一些事情 导致列表视图正在使用的表不再可用 我只想在用户点击 保存 时能够关闭窗口 In Page Load 我检查桌子是否可用 如果没有 我打电话RegisterClientScrip
  • Openfeign ErrorDecoder 导致 java.io.IOException:流已关闭

    当我尝试实施时ErrorDecoder为了解码假装异常 我在中找到了流response body 已关闭 因此当我尝试读取流并将其转换为字符串时 它会抛出java io IOException stream is closed 这真的很困惑
  • response.sendRedirect() 和 request.getRequestDispatcher().forward(request,response) 有什么区别[重复]

    这个问题在这里已经有答案了 我使用JAVA时出现页面跳转的问题 如果我使用 response sendRedirect login jsp 然后我得到这个网址 http localhost 8080 login jsp 但如果我使用 req
  • Python urllib2 响应头

    我正在尝试提取 URL 请求的响应标头 当我使用firebug分析URL请求的响应输出时 它返回 Content Type text html 但是当我使用 python 代码时 urllib2 urlopen URL info 结果输出返
  • spring boot feign 客户端获取 HTTP 404

    我目前正在检查如何在我的项目之一中使用 Feign 作为声明式 REST 客户端 以下是假客户端 FeignClient name SEARCHCABMS configuration AppFeignConfiguration class
  • 在 FB Graph API 中确定具有 id 的对象类型

    有没有办法确定给定 ID 代表什么类型的对象https graph facebook com ID 当我在 Graph API Explorer 工具中请求此操作时 响应中有一个名为type 其中可能包含user page album ph
  • Codeception API 测试响应返回“N/A”

    我正在使用 Laravel 和 Codeception 作为测试框架编写 API 我无法让 Codeception 返回响应代码 我可以从 Codeception 获取响应代码 以及 JSON 响应 我编写了一个简单的测试来从 GET 请求

随机推荐