インターフェースがnullに戻るという仮定案について

1131 ワード

問題は日常と後端インターフェースがドッキングする過程で、しばしばインターフェースフィールドにnullが存在する値に出会う.
{
   code:0,
   msg:'success',
   result:null
}
この時、私達はまたレスリングt.userInfoを取得すると、JavaScriptはエラーを報告します.したがって、フロントエンドは、インターフェースの状態コードが0であるかどうかを確認するだけでなく、resultが期待されるオブジェクトのタイプであるかを確認します.つまり元のものからです.
if (res.data.code === 0)
に変更する
if (res.data.code === 0&&res.data.result)
特に私達が予想していたデータ構造は
{
  code:0,
  result:{
    userInfo:{
      userName:''
    }
  }
}
この値をうまく取るためには3回の判断が必要です.
let userName = ''
if (res.data.result&&res.data.result.userInfo&&res.data.result.userInfo.userName)
 userName = res.data.result.userInfo.userName
頭が痛くて98%の後端が満足できません.予定通りのデータ構造で戻ると、object/string/number/arrayがnullの可能性があります.最終的に後端を倒して、フォーマットによって戻ると約束しましたが、やはりインターフェースが信頼できません.
そこで私は一つの案を予想しました.主にそんなに多くのif判断を解決して、インターフェースを私達のほしい形に戻します.
基本書式を保持してから、インターフェースをベースデータに結合する方法に戻ります.
このようにするメリットは
  • は、予想されるデータ構造を完全に保持している.
  • debugコードの場合、現在のインターフェースから返されたデータフォーマットがはっきりと見え、読み取り可能性を高める
  • .
  • インターフェースのmock拡張をしやすいです.