在反应本机应用程序中读取邮递员返回的错误消息

Reading error message returned by postman in react native app

我有一个 api 用于在我的 React Native 应用程序中登录。 api 已实现并按预期工作。但问题是,如果用户输入了错误的电子邮件或密码,我不会在应用程序的响应中收到错误消息。而如果我在邮递员中手动测试 api 它 returns 所需的错误消息。我尝试为错误响应制作一个转换器,但我不知道如何实现或使用它。我正在使用 fetch 调用我的 apis.

return fetch(fullUrl, requestParameters)
    .then((response) => {
      if(response.ok) {
        return response.headers.get("content-type") === "application/json" ? response.json() : null
      } else {
        errorrr = ErrorTransformer.backward(response)
        console.log("Error: ", errorrr)
}

下面是错误响应的变形器

import {createTransformer} from './Transformer';


const ErrorTransform ={
  o:[
    ['message','message'],
    ['code','code'],
  ]
}

export default createTransformer(ErrorTransform)

下面是输入错误信息时邮递员返回的响应

{
    "message": "error",
    "code": 1
}

您可以根据响应码进行查询。我建议使用 Axios 库。 Axios NPM

经过多次尝试,我发现用户输入错误的电子邮件或密码时的邮递员响应是一个常规响应对象,而不是错误。所以它的处理应该像一个常规的响应。但是仍然存在的障碍是区分我何时成功响应并返回信息,或者何时返回错误对象。我通过将错误变换器与登录变换器结合起来解决了这个问题,并完美地处理了它。