Postman 运行prerequest脚本来字符串化请求主体

Postman 运行prerequest脚本来字符串化请求主体,postman,stringify,postman-pre-request-script,Postman,Stringify,Postman Pre Request Script,我正在使用PostMan发送一个post请求,其正文作为包含文件和文本的表单数据。见下图: 我想对整个正文进行json.stringify,但我无法在预请求脚本中解决如何实现这一点。由于环境变量只能是主体的一部分,进一步拥有文件会使问题变得更加棘手。我不确定我是否理解这个问题。在postman中,请求是一个JavaScript对象。如果您正试图将请求字符串化,我假设您正试图获得以下信息: propertyOne=valueOne&propertyTwo=ValueTwo 其中: co

我正在使用PostMan发送一个post请求,其正文作为包含文件和文本的表单数据。见下图:


我想对整个正文进行json.stringify,但我无法在预请求脚本中解决如何实现这一点。由于环境变量只能是主体的一部分,进一步拥有文件会使问题变得更加棘手。

我不确定我是否理解这个问题。在postman中,请求是一个JavaScript对象。如果您正试图将请求字符串化,我假设您正试图获得以下信息:

propertyOne=valueOne&propertyTwo=ValueTwo
其中:

const request = {
    propertyOne: 'valueOne',
    propertyTwo: 'ValueTwo'
};
简单的方法是迭代对象的属性并写入字符串:

function stringifyRequest(object) {
    let resultString = '';
    for (var property in object) {
        if (object.hasOwnProperty(property)) {
            let tempString = `${property}=${object[property]}`;
            resultString = resultString ? `${resultString}&${tempString}` : tempString;
        }
    }
    return resultString
}
现在,如果您想获取正在上载的文件的二进制文件,则不可能。如图所示:

我们不允许访问预请求中的文件内容 脚本,有几个原因

  • 我们想在请求之前延迟加载文件内容 他被派去了
  • 在预请求之前,请求正文实际上不会被解析 脚本已完成。所以即使我们想我们也不能给 请求前脚本中请求的实际主体
  • 他们最终可能会改变这一点,但我找不到任何迹象。此线程中的一个用户建议使用,如果它更适合您的需要,您可以检查它