在 Postman 中上傳文件和 JSON 數據
一、概述
Postman 是一個流行的 API 平台,它優化了 API 開發生命週期的各個步驟。 Postman 無需編寫任何代碼即可用於測試我們的 API。我們可以使用獨立應用程序或瀏覽器擴展。
在本教程中,我們將了解如何在使用 Postman 時上傳文件和 JSON 數據。
2. 應用程序設置
讓我們設置一個基本的Spring Boot 應用程序,該應用程序公開端點以上傳數據。
2.1。依賴項
我們在pom.xml
中定義了一個帶有spring-boot-starter-web
依賴的基本 spring 應用程序:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2.2.模型
接下來,讓我們為 JSON 輸入定義一個簡單的模型類:
public class JsonRequest {
int id;
String name;
}
為簡潔起見,我們刪除了構造函數、getter/setter 等的聲明。
2.3.端點
最後,讓我們根據用例設置一個端點以將請求作為文件處理:
@PostMapping("/uploadFile")
public ResponseEntity<String> handleFileUpload(@RequestParam("file") MultipartFile file){
return ResponseEntity.ok().body("file received successfully");
}
在方法handleFileUpload(),
我們期望MultipartFile
作為輸入,隨後返回帶有靜態文本的200
狀態消息。我們保持簡單,並沒有探索保存或處理輸入文件。
MultipartFile
由 Spring-Web 提供,它代表一個上傳的文件。然後,該文件存儲在內存中或臨時存儲在磁盤上,隨後在請求處理完成後將其清除。
我們還創建一個處理 JSON 數據的端點:
@PostMapping("/uploadJson")
public ResponseEntity<String> handleJsonInput(@RequestBody JsonRequest json){
return ResponseEntity.ok().body(json.getId()+json.getName());
}
在這裡, handleJsonInput(),
我們期望一個JsonRequest,
類型的對象,我們定義的模型類。該方法在響應中返回200
HTTP 狀態代碼,其中包含輸入詳細信息id
和name
。
我們使用了註釋@RequestBody
將輸入反序列化到JsonRequest
對像中。通過這種方式,我們看到了 JSON 的簡單處理來驗證輸入。
3. 上傳數據
我們已經設置了應用程序,現在讓我們檢查向應用程序提供輸入的兩種方式。
3.1。將 JSON 上傳到 Postman
JSON 是端點的文本輸入類型之一。我們將按照以下步驟將其傳遞給暴露的端點。
默認方法設置為GET
。因此,一旦我們添加了localhost
URL,我們需要選擇POST
作為方法:
讓我們單擊Body
選項卡,然後選擇raw.
在顯示Text
的下拉列表中,讓我們選擇JSON
作為輸入:
我們需要粘貼輸入 JSON,然後單擊Send
:
正如我們在快照底部看到的那樣,我們收到了200
狀態碼作為響應。此外,輸入中的id
和name
會在響應正文中返回,確認 JSON 在 endpoint 處已正確處理。
3.2.將文件上傳到 Postman
讓我們在這里以文檔文件為例,因為我們沒有定義端點可以使用哪些文件類型的任何約束。
讓我們添加localhost
URL 並選擇POST
作為方法,因為該方法默認為GET
:
讓我們單擊Body
選項卡,然後選擇form-data.
在鍵值對的第一行,讓我們單擊鍵字段右上角的下拉菜單,然後選擇File作為輸入:
我們需要在 key 列中添加作為端點的@RequestParam
的文本file
,並瀏覽 value 列的所需文件。
最後,讓我們點擊Send
:
當我們單擊Send
時,我們會得到一個**200
HTTP 狀態代碼,其中包含在端點定義中定義的靜態文本。這意味著我們的文件已成功交付到端點,沒有錯誤或異常**。
4。結論
在本文中,我們構建了一個簡單的 Spring Boot 應用程序,並研究了兩種通過 Postman 向暴露的端點提供數據的不同方式。
與往常一樣, GitHub 上提供了代碼示例。