我不太确定我是否正确接近这个,但我的问题是,我通常在我的API端点接收json数据,然后我从json req.body数据创建一个模型实例......我正在使用MEAN堆栈..
我现在遇到的问题是,我的模型的一个字段是具有18个位置的mongoose-long数据类型。但是,bodyParser会解析数字并对数字的las 3位置进行舍入。我将它用于_id字段,因此我收到了重复的密钥错误。
我通过Python手动构建并发送数据进行测试,我使用_ast_lib_eval(document)从我构造的json文档中去除所有字符串引号。因此,不知怎的,json bodyParser正在获取身体并获取数字,但切断(或舍入)数字字段,因为我猜,它本身不支持这么长的数字...我可以使用另一个bodyParser某些路线可能..但我不知道如何配置它。
现在最好的方法是什么?我是否必须使用另一个解析器,因此将我的数据作为纯文本或原始数据发送给所有api端点?这意味着我必须重做一切,以便它适合解析器,对吧?通常的格式是json ....
或者我可以以某种方式从req.body获取“原始”数据,然后再从bodysarser中解析出来?这将是手动获取正确数字的最佳方式..但我不知道是否有方法可以做到这一点......
答案 0 :(得分:3)
根据规范,您可以在所有端点上使用特定的自定义bodyparser
question = {
category: "Fizyka",
id: "-LF2OGgGXD-xPpSa64CX",
level: "Liceum",
photoURL: "https://firebasestorage.googleapis.com/v0/b/uczsieapp.appspot.com/o/images%2Faf941460-05e8-4943-8ea0-b24359e22cdf?alt=media&token=7141bf45-55c4-467c-a533-a268d95fe6cf",
pointAmount: 32,
pointBoost: 0,
}