簡體   English   中英

如何在郵遞員的同一請求中發送多部分/表單數據和嵌套的json?

[英]How to send multipart/form-data and nested json in the same request in postman?

我有一個 REST api,它獲取嵌套 json 的數據,包括多部分文件

在通過郵遞員測試 REST api 時,我遇到了問題。

我不完全知道如何發送我需要的各種類型的數據 - multipart/form-data 文件和嵌套的 json。

我在其他項目中分別在每種情況下使用了 REST,但我無法將它們組合在一個請求中。

要使用 multipart/form-data,我必須在 Body 中選擇 form-data,然后從 key 字段的下拉列表中選擇 File,單擊 value 字段上的選擇文件按鈕並選擇我要上傳的文件。

在表單數據中添加文件

要使用嵌套的 json,我必須在下拉列表中選擇 raw,然后選擇它右側的 json,然后在正文中簡單地添加嵌套的 json。

添加json數據

但是我如何結合這兩種方法呢?

我需要 multipart/form-data 以及同一個請求中的嵌套 json。 我如何從郵遞員那里發送這些? 正如您在屏幕截圖中看到的那樣,我正在嘗試各種方法,但我一無所獲。

提前致謝

PS如果重要的話,我在后端使用java(spring boot)。

你的第一種方法是正確的。 但是,要傳遞最復雜的數據,從該位置進行操作將是一場噩夢。 如果需要從郵遞員傳遞數據,那么您可以在郵遞員中使用預請求腳本。 下面是例子:-

在此處輸入圖片說明

對於 pre-req,我保留了一個基本的 js 對象。 在此處輸入圖片說明

試試這個功能。

我遵循了上面的答案,它對我有用。

第 1 步:在預請求腳本中設置 json 數據值。

var data = {    
name:"COD Black Ops",
cost:60,
}
pm.variables.set("somedata",JSON.stringify(data));

第 2 步:設置表單值。 從 (...) 中啟用內容類型選項,例如描述列旁邊的按鈕,以便將 json 字段的值設置為“application/json”。

第三步:處理表單數據的express代碼

const multer  = require('multer')
const upload = multer(<options>)
app.post('/stats', upload.single('uploaded_file'), function (req, res) {
  // req.file is the name of your file in the form above, here 'uploaded_file'
  // req.body will hold the text fields, if there were any 
console.log(req.file, req.body)
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM