1. 개요
Postman 은 API 개발 수명 주기의 다양한 단계를 최적화하는 인기 있는 API 플랫폼입니다. Postman은 코드를 작성하지 않고도 API를 테스트 하는 데 사용할 수 있습니다. 독립 실행형 앱이나 브라우저 확장 프로그램을 사용할 수 있습니다.
이 예제에서는 Postman을 사용할 때 파일과 JSON 데이터를 업로드하는 방법을 알아봅니다.
2. 애플리케이션 설정
데이터를 업로드하기 위해 엔드포인트를 노출 하는 기본 Spring Boot 애플리케이션을 설정해 보겠습니다 .
2.1. 의존성
우리는 pom.xml 에서 spring-boot-starter-web 의존성을 가진 기본 스프링 애플리케이션을 정의했습니다 :
<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 유형의 객체를 기대합니다 . 이 메서드는 응답에서 입력 세부정보 ID 및 이름 과 함께 200 HTTP 상태 코드를 반환합니다.
JsonRequest 객체 에 대한 입력을 역직렬화하는 어노테이션 @RequestBody 를 사용했습니다. 이렇게 하면 입력을 확인하기 위해 JSON을 단순하게 처리하는 것을 볼 수 있습니다.
3. 데이터 업로드
응용 프로그램을 설정했으며 이제 응용 프로그램에 입력을 제공하는 두 가지 방법을 확인하겠습니다.
3.1. Postman에 JSON 업로드
JSON은 엔드포인트에 대한 텍스트 입력 유형 중 하나입니다. 아래 단계에 따라 동일한 것을 노출된 엔드포인트에 전달합니다.
기본 방법은 GET 으로 설정됩니다 . 따라서 localhost URL을 추가했으면 POST 를 메서드로 선택해야 합니다.
Body 탭을 클릭 한 다음 raw를 선택합니다. Text 를 표시하는 드롭다운 에서 JSON 을 입력으로 선택하겠습니다 .
입력 JSON을 붙여넣고 보내기 를 클릭해야 합니다 .
스냅샷 하단에서 볼 수 있듯이 응답으로 200 상태 코드가 표시 됩니다 . 또한 입력 의 ID 와 이름 이 Response body에 반환되어 엔드포인트에서 JSON이 올바르게 처리되었음을 확인합니다 .
3.2. Postman에 파일 업로드
끝점에서 사용할 수 있는 파일 형식에 대한 제약 조건을 정의하지 않았으므로 여기에서 문서 파일을 예로 들어 보겠습니다.
메서드의 기본값이 GET 이므로 localhost URL을 추가하고 메서드로 POST 를 선택하겠습니다 .
Body 탭을 클릭 한 다음 form-data를 선택합니다. 키-값 쌍의 첫 번째 행에서 키 필드의 오른쪽 모서리에 있는 드롭다운을 클릭 하고 입력으로 파일 을 선택합니다.
끝점에 대한 @RequestParam 인 텍스트 파일 을 키 열에 추가하고 값 열에 대해 원하는 파일을 찾아봐야 합니다.
마지막으로 보내기 를 클릭합니다 .
보내기 를 클릭하면 엔드포인트 정의에 정의된 정적 텍스트가 포함된 200 HTTP 상태 코드가 표시 됩니다. 이것은 우리 파일이 오류나 예외 없이 성공적으로 엔드포인트에 전달 되었음을 의미합니다 .
4. 결론
이 기사에서는 간단한 Spring Boot 애플리케이션을 구축하고 Postman을 통해 노출된 엔드포인트에 데이터를 제공하는 두 가지 다른 방법을 살펴보았습니다.
항상 그렇듯이 코드 샘플은 GitHub 에서 사용할 수 있습니다 .