首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RTK查询不处理文本响应

RTK查询不处理文本响应
EN

Stack Overflow用户
提问于 2022-09-30 18:37:14
回答 2查看 249关注 0票数 0

我们有一个基本的基于fetchBaseQuery的RTK切片,就像在RTK文档上推荐的那样。

另外,有一个后端服务,将数据作为响应中的文本返回,但在响应头上声明为。我知道这不是一个一致的,但不幸的是,我们现在没有特权来改变这一点。

我们试图以正确的方式解析它,但是我们无法对数据有任何了解,我们在RTK中没有看到,甚至无法在transformResponse中找到它。当我们检查网络选项卡上的XHR/Fetch活动时,我们已经看到了预期的响应,这是我们成功地接收到数据的唯一线索。

我认为RTK不会处理这些数据,因为它在响应头上被声明为一个json,但是作为文本在正文中提供了字符串。这有点尴尬,因为我们在任何地方都看不到任何错误。

你知道我们怎样才能在RTK内达到回应吗?

EN

回答 2

Stack Overflow用户

发布于 2022-09-30 21:59:56

可以在端点上设置responseHandler: 'text'

票数 2
EN

Stack Overflow用户

发布于 2022-10-01 01:02:32

从医生那里:

默认情况下,fetchBaseQuery假设您得到的每个响应都将被解析为json。如果您不希望发生这种情况,您可以指定像text这样的替代响应处理程序,或者使用一个接受原始响应对象的自定义函数-

文档中的示例:

代码语言:javascript
复制
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query'

export const customApi = createApi({
  baseQuery: fetchBaseQuery({ baseUrl: '/api/' }),
  endpoints: (builder) => ({
    getUsers: builder.query({
      query: () => ({
        url: `users`,
        // *********************************8
        // this is how you handle
        responseHandler: (response) => response.text(), // This is the same as passing 'text'
      }),
    }),
  }),
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73912757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档