0

I have an api that in case of errors sends an customized response but axios always shows its own response which is "Request failed with status code 500".
I wonder if there's a way I can receive and handle the api response and not axios's response which is

{"IsSuccess":false,"StatusCode":7,"Message":"User has been registered before"}

What axios returns is:

{
  "message": "Request failed with status code 500",
  "name": "Error",
  "fileName": "http://localhost:8080/js/chunk-vendors.js line 508 > eval",
  "lineNumber": 16,
  "columnNumber": 15,
  "stack": "createError@webpack-internal:///./node_modules/axios/lib/core/createError.js:16:15\nsettle@webpack-internal:///./node_modules/axios/lib/core/settle.js:17:12\nhandleLoad@webpack-internal:///./node_modules/axios/lib/adapters/xhr.js:61:13\n",
  "config": {
    "url": "http://*******.***/api/v1/User/Create",
    "method": "post",
    "data": "{\"fullName\":\"aldeonaldeon\",\"email\":\"aldeon@aldj.caljkf\",\"mobile\":\"lkj;adsf;lk\",\"userName\":\"aldeon\",\"password\":\"lk;ajdfs;\"}",
    "headers": {
      "Accept": "application/json, text/plain, */*",
      "Content-Type": "application/json;charset=utf-8"
    },
    "transformRequest": [
      null
    ],
    "transformResponse": [
      null
    ],
    "timeout": 0,
    "xsrfCookieName": "XSRF-TOKEN",
    "xsrfHeaderName": "X-XSRF-TOKEN",
    "maxContentLength": -1
  }
}

1 Answers1

0

By using validateStatus I could change the range of error status handled by axios:

const instance = axios.create({
    validateStatus: function (status) {
        return status >= 200 && status < 501
    },
})