1. Обзор
Postman — это популярная платформа API, которая оптимизирует различные этапы жизненного цикла разработки API. Postman можно использовать для тестирования нашего API без написания кода. Мы можем использовать либо отдельное приложение, либо расширение для браузера.
В этом руководстве мы увидим, как загружать файлы и данные JSON при использовании Postman.
2. Настройка приложения
Давайте настроим базовое приложение Spring Boot, которое предоставляет конечные точки для загрузки данных.
2.1. Зависимости
Мы определили базовое приложение Spring с зависимостью spring-boot-starter-web в pom.xml:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2.2. Модель
Далее давайте определим простой класс модели для ввода JSON:
public class JsonRequest {
int id;
String name;
}
Для краткости мы удалили объявления конструкторов, геттеров/сеттеров и т. д.
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, класс модели, который мы определили. Метод возвращает код состояния HTTP 200 с идентификатором и именем входных данных в ответе.
Мы использовали аннотацию @RequestBody, которая десериализует ввод в объект JsonRequest. Таким образом, мы увидели упрощенную обработку JSON для проверки ввода.
3. Загрузка данных
Мы настроили приложение и теперь давайте проверим два способа ввода данных в приложение.
3.1. Загрузка JSON в Postman
JSON — это один из типов ввода текста для конечной точки. Мы выполним следующие шаги, чтобы передать то же самое открытой конечной точке.
По умолчанию используется метод GET. Итак, как только мы добавили URL-адрес локального хоста, нам нужно выбрать POST в качестве метода:
Нажимаем на вкладку Body, затем выбираем raw. В раскрывающемся списке, который отображает текст, давайте выберем JSON в качестве входных данных:
Нам нужно вставить входной JSON, а затем нажать «Отправить»:
В ответ мы получаем код состояния 200, как видно в нижней части снимка. Кроме того, идентификатор и имя из ввода возвращаются в тексте ответа, подтверждая, что JSON был правильно обработан в конечной точке.
3.2. Загрузка файла в Postman
Давайте возьмем файл документа для нашего примера здесь, поскольку мы не определили никаких ограничений относительно того, какие типы файлов могут использоваться конечной точкой.
Давайте добавим URL-адрес локального хоста и выберем POST в качестве метода, так как метод по умолчанию использует GET:
Перейдем на вкладку Body и выберем form-data. В первой строке для пары ключ-значение щелкните раскрывающийся список в правом углу для ключевого поля и выберите «Файл» в качестве входных данных:
Нам нужно добавить текстовый файл, который является нашим @RequestParam для конечной точки, в ключевой столбец и просмотреть нужный файл для столбца значений.
Наконец, давайте нажмем «Отправить»:
Когда мы нажимаем «Отправить», мы получаем код состояния HTTP 200 со статическим текстом, определенным в нашем определении конечной точки. Это означает, что наш файл был успешно доставлен в конечную точку без ошибок или исключений.
4. Вывод
В этой статье мы создали простое приложение Spring Boot и рассмотрели два разных способа предоставления данных открытым конечным точкам через Postman.
Оригинал статьи: https://www.baeldung.com/postman-upload-file-json