如何使用 RTK 查询获取 XML 数据?

How can I fetch XML data with RTK Query?

我已经在 return JSON 的不同端点使用 RTK 查询,它们按预期工作。但是有一个端点是 returns XML。我可以在网络选项卡中看到 HTTP 响应是正确的,但是 RTK 查询的自动生成的钩子 returns data as undefined.

这是我的查询定义:

import { myApi } from './base';

export const excel = myApi.injectEndpoints({
  endpoints: (builder) => ({
    fetchExcelUserList: builder.query({
      query: () => ({
        url: 'excel/user_list',
        method: 'GET',
        headers: {
          'Content-Type': 'application/xml; charset:utf-8',
        },
      }),
    }),
  }),
});

export const { useFetchExcelUserListQuery } = excel;

我就是这么用的:

  const { data } = useFetchExcelQuery('');
  console.log(data);

如果此解释不够,请查看描述相同问题的 this link

非常感谢。

您的 dataundefined,因为您的查询进入错误状态 - 默认情况下,所有内容都将被解析为 json。不过,您可以使用 fetchaseQueryresponseHandler 功能提供自定义解析函数。