我们有一个基于fetchBaseQuery的基本RTK API Slice,就像RTK文档中推荐的一样。
此外,还有一个后端服务在响应中以文本形式返回数据,但在响应头中声明为Content-Type: application/json
。我知道这不一致,但很遗憾,我们现在没有权限更改此设置。
我们尝试以适当的方式解析它,但我们无法获得任何有关数据的线索,我们在RTK中看不到,甚至无法到达transformResponse
内部。当我们检查网络选项卡上的XHR/Fetch活动时,我们看到了预期的响应,这是我们成功接收数据的唯一线索。
我认为RTK不会处理这些数据,因为它在响应头中声明为json,但在主体中提供为文本字符串。这有点尴尬,因为我们在任何地方都看不到任何错误。
你知道我们怎么才能得到RTK内部的响应吗?
2条答案
按热度按时间nhjlsmyf1#
您可以在端点上设定
responseHandler: 'text'
。u3r8eeie2#
来自文档:
默认情况下,fetchBaseQuery假设您得到的每个响应都将被解析为json。如果您不希望发生这种情况,您可以指定一个替代的响应处理程序(如text),或者完全控制并使用一个接受原始Response对象的自定义函数-
来自文档的示例: