[Bug] 因前后端约定字段不一致导致的报错信息空白问题

396 阅读1分钟

一、问题描述

在出现操作错误时,没有返回相应的错误信息。

image.png

二、分析问题

前端中这个message全局提示所在的代码是:

    //编辑用户弹窗 确认按钮
    handleEditUserOK() {
      //在 validate 中完成全部操作
      this.$refs.editUserRef.validate(async (valid) => {
       /*
       ...验证通过后向后端发送请求数据,并得到成功或失败的回复 
       */

        if (res.status !== 200) return this.$message.error(res.message);
        
        /*
        ...完成一些清理工作
        */
      });

可见,所要求的字段是res.message
而后端对应的 API 的字段是msg


// EditUser 编辑用户
func EditUser(c *gin.Context) {
   /*
   ... 调用 Model 并完成错误处理
   */

   c.JSON(http.StatusOK, gin.H{
      "status": code,
      "msg":    errmsg.GetErrMsg(code),
   })
}

三、解决方案

应当有一份文档,严格按照文档规定的字段进行开发。随意的命名是不被允许的。