首页 > 解决方案 > 更新不适用于 http 颤振包

问题描述

最近我使用 Flutter 开发了一个应用程序,并使用 node.js 和 mongodb 创建了一个 API。将 API 与 Flutter 应用程序连接成功。我使用 http 包创建数据,但我面临的问题是 http put 请求不起作用,在我的 API 数据更新成功但在颤振中它不起作用,当我按下更新按钮时,响应状态代码为 200 表示更新是成功的,但是当我在数据库和邮递员的邮递员数据更新成功中检查它时,数据库数据仍然没有更新。我的颤振代码:

edaitORDeleteBackup(var url) async {
await database.openDb();
var edaitORDelete =
    await database.redstorewhicRecordEdaitORDeleteForBackup();

if (edaitORDelete != null) {
  url = formateURL(url);
  var uri = Uri.parse(url);
 
  for (int i = 0; i < edaitORDelete.length; i++) {
    if (edaitORDelete[i]["backUpEdait"] != 0) {
      var accountE =
          await database.redAccountBackup(edaitORDelete[i]["backUpEdait"]);
      print(accountE);
      var response = await http.put(uri,
          headers: <String, String>{
            'Content-Type': 'application/json'
          },
          body: jsonEncode(accountE));
      if (response.statusCode == 200) {
        await database.deletestorewhicRecordEdaitORDeleteForBackup(
            edaitORDelete[i]["id"]);
        print('success');
      } else {
        print('fail');
      }
    }
  }
}


}

使用 node.js 和 mognodb 更新 API:

 const doc = await Model.updateOne({accountNumber:req.body.accountNumber},{$set:req.body})
if (!doc) {
    return next(new AppError('No document found with that ID', 404))
}
res.status(200).json({
    status: 'success',
    message: 'data update successfully',
    data: {
        data: doc
    }
})

我的数据模型:

const accountSchem= mongoose.Schema({
accountNumber:{
type:Number,
required:['account nmuber is required'],
unique:true

   },
    name:{
        type:String,
        required:['name is required',true]
    },
    address:{
        type:String,
        required:['adress is required',true]
    },
    telphone:{
        type:String,
        required:['telephone is required',true],
         unique:true
    },
    balance:{
        type:Number,
       default:0
    },
    issueDate:Number,
       image:String,
   role:{
       type:String,
       enum: ['admin', 'client'],
       default: 'client'
   }

}); 

accountSchem.index({personName:'text'});
accountSchem.index({telephone:1});
const Account=mongoose.model('account',accountSchem);
module.exports=Account;

API 溃败:

route.route('/api/account').get(controller.getAccount).
post(controller.createAccount)
.put(controller.edaitAccount);

标签: node.jsmongodbflutterhttp

解决方案


推荐阅读