You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改RTK Query响应错误格式

如何修改RTK Query的响应错误格式

你可以通过RTK Query提供的transformErrorResponse配置项,重新格式化错误响应结构,把嵌套的错误信息扁平化。

具体实现

在创建API切片(createApi)时,添加transformErrorResponse配置对原始错误对象做转换:

import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'

const api = createApi({
  baseQuery: fetchBaseQuery({ baseUrl: '/api' }),
  endpoints: (builder) => ({
    // 这里定义你的接口
  }),
  // 配置错误格式转换
  transformErrorResponse: (originalError) => {
    return {
      message: originalError.data?.message || '请求失败',
      status: originalError.status
    }
  }
})

说明

  • transformErrorResponse会接收原始错误对象作为参数,也就是你拿到的包含data和status的嵌套结构
  • 我们直接从originalError.data中提取message,同时保留originalError.status,组合成新的扁平化错误对象返回
  • 用originalError.data?.message的可选链判断,避免后端返回的错误结构不符合预期时出现报错
  • 如果后端没有返回message字段,可以设置一个默认提示,比如'请求失败'

配置完成后,后续接口请求返回错误时,你拿到的错误结构就会变成目标格式:

error: {
  message: 'error!',
  status: 400,
}

内容的提问来源于stack exchange,提问作者Grigoriy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 20:45:57