我正在尝试使用使用以下Joi验证的API:
Joi.object({
files: Joi.array().items(Joi.object({
fileId: Joi.string().uuid().required(),
})),
folders: Joi.array().items(Joi.object({
folderId: Joi.string().uuid().required(),
}))
})
joi验证还要求我将其作为FormData发送。我尝试了几种不同的方法,但是无论如何尝试,我都只能像这样发送一个字符串数组:
文件:[“ fileId:f28019d7-9268-4013-bacb-67ed96eb095f”,“ fileId:51e99e3d-755a-4530-9eed-f08d20cbfe8b”]
那我怎么用邮递员寄呢?
答案 0 :(得分:0)
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以使用Postman在批量修改中提供以下值:
files[1]:f28019d7-9268-4013-bacb-67ed96eb095f
files[2]:51e99e3d-755a-4530-9eed-f08d20cbfe8b
答案 3 :(得分:0)
问题是您正在尝试发送字符串而不是对象:
个文件:Joi.array()。items(Joi.object({ fileId:Joi.string()。uuid()。required(), }))
在这里,您尝试将fileId设置为对象(在files
数组中)的键。因此,您想要的是[{ fileId: "xyz" }]
。
要实现此目的,您只需对数组数据进行字符串化。然后发送表单数据正文。
let arr = [{ fileId: "xyz" }];
JSON.stringify(arr); // outputs in console -> "[{"fileId":"xyz"}]"
在Postman中,您可以将数组发送为:
files:[{"fileId":"xyz"},{"fileId":"abc"}]
(通过使用批量上传来执行此操作,这样就不会出现多余的空格之类的问题)