umi4的request的responseInterceptors无法拦截到非200响应 #9093
Unanswered
darkfiredarkhalo
asked this question in
Q&A
Replies: 1 comment
-
umi 4 里的 request 这个功能本质是用了 axios ,axios 默认的行为就是非 200 的响应会认为是错误响应,就抛错进入 error handler 了,如果是有意的非 200 响应,需要配置 request('/test', {
validateStatus: () => true,
}); |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
What happens?
非常感谢!
后端使用
go zero
框架, 前端使用antd pro
, 在处理请求时使用@umijs/max
的request
,发送请求时参数只有url
/method
/data
, 然后在app.ts
中做运行时配置, 如下:发现如下几个问题:
responseInterceptors
, 也进不到responseInterceptors
的错误处理; 正常的200请求,responseInterceptors
中的错误处理也能接收到, 如果按官方示例, 此时的正常请求也无法处理, 因为在错误处理中返回了reject
errorConfig
中的errorHandler
拿不到httpstatus
. 非200会直接进入errorHandler
, 但是此时的响应体内status
始终是0
, 如下图:Mini Showcase Repository(REQUIRED)
ant design pro
项目:npx @ant-design/pro-cli create myapp
, 选择umi4
模板;app.ts
添加运行时配置如下:401
等Context
Beta Was this translation helpful? Give feedback.
All reactions