跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 为什么在 Feign 的自定义 decoder 中使用 ObjectMapper 的方法会 fallback?
未分類
27 10 月 2020

为什么在 Feign 的自定义 decoder 中使用 ObjectMapper 的方法会 fallback?

为什么在 Feign 的自定义 decoder 中使用 ObjectMapper 的方法会 fallback?

資深大佬 : InkAndBanner 2

原因:调用数个外部 api,api 的返回值的 data 字段会根据接口不同而不同,如果订单接口 那个数组就叫 orders,如果商品列表接口 就叫 spus,我想用一个自定义的反序列化规则把他们都放在统一的 response 对象的 data 字段中(泛型)
如图:

https://sm.ms/image/tLa159rNIPw2FmC

但是每次 feignClient 去请求接口 收到 json 开始反序列化时候 每次走到断点那行 执行 objectMapper 的 readValue 的时候就会直接 feignFallBack 没有什么异常的信息打印出来 很奇怪 从昨天开始困扰了一整天了,代码如图 1.为什么会这样?是不该使用 readValue 吗? 2.有什么更好实现得方法吗? 熟悉 feign 的大神快来救命

https://sm.ms/image/nwVK4ygImXjzMse

大佬有話說 (5)

  • 資深大佬 : aragakiyuii

    readValue(content, MicroShopOrder[].class)

    然后把数组返回值转成 list

  • 主 資深大佬 : InkAndBanner

    @aragakiyuii 感谢老哥 但是我试了 不是这个问题 还是会 fallback https://sm.ms/image/lLE7coQqnKweJyt

  • 資深大佬 : passerbytiny

    你可能需要 JsonNode.asText

    toString 得出来的是 JsonNode 实例对应的 json,不是它携带的值对应的 json,无法读取为 List 类型。

    还有,为什么不看一下抛出来的异常的信息。

  • 資深大佬 : passerbytiny

    把日志里面的 Error 看完,里面应该有源头的异常信息。

    你这个日志是处理过的,也有可能没包含完整信息,但是你都能调试了,在异常导致的断点那里也是能看到异常信息的。

  • 資深大佬 : aragakiyuii

    @InkAndBanner #2 不如直接 debug 的时候 Evaluate 一下那行,看看 exception 日志

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具