본문 바로가기
Programming/Spring Boot

[실습] 스프링부트(Spring Boot)로 회원 관리 기능 구현하기 - REST API 테스트하기

by 돌방로그 2023. 2. 15.


오늘의 실습 목표는 "회원 관리 기능 만들어보기!" 입니다.
본 게시글에서 다루는 사항은 회원 관리 기능의 Backend 단인 API 구현 결과물을 테스트하는 과정입니다.


회원 관리 구현하기 - API Test

사전 준비

아래 사항에 대해서 사전 준비가 완료되지 않으신 분들은 아래 링크를 참조하여 사전 준비를 진행합니다.

 


테스트

테스트는 Postman으로 Controller에 구현한 REST API를 호출하여 해당 로직이 정상적으로 결과를 도출하는지를 확인합니다. 테스트는 Postman으로 테스트하였으며, Postman 관련 사항은 링크를 참조해주세요.

 

테스트를 위한 관련 툴의 상태는 아래와 같이 구성되어야 합니다.

  • Postman: API Test 구동 및 결과 확인
  • IntelliJ: Server 구동
  • MySQL Workbench: API Test 결과 확인

 

CREATE

DB Query로는 INSERT 구문에 해당하는 동작으로 Postman에서 POST로 설정하여 테스트합니다.

총 2개의 데이터를 순차적으로 POST 구문을 실행하여 테스트합니다.

 

Postman (API Test)

CASE #1 데이터 하나씩 입력하는 경우 (POST: http://localhost:8080/api/admin-web/users)

좌: 1번 데이터 우: 2번 데이터

  • 우측 하단에 초록색으로 '200 OK'로 정상적으로 API 통신되었음을 확인할 수 있음

 

Results

좌: CREATE 전 우: CREATE 후

  • SELECT문으로 테이블에 정상적으로 2개의 데이터가 입력된 것을 확인

 

READ

DB Query로는 SELECT 구문에 해당하는 동작으로 Postman에서 GET로 설정하여 테스트합니다.

 

Postman (API Test)

CASE #1 전체 데이터를 가져오는 경우 (GET: http://localhost:8080/api/admin-web/users/all)

 

CASE #2 조건(사용 기한)에 부합한 데이터를 가져오는 경우 (GET: http://localhost:8080/api/admin-web/users/available)

 

CASE #3 특정 사용자 데이터를 가져오는 경우 (GET: http://localhost:8080/api/admin-web/user)

 

UPDATE

DB Query로는 UPDATE 구문에 해당하는 동작으로 Postman에서 PUT로 설정하여 테스트합니다.

 

Postman (API Test)

CASE #1 특정 데이터를 수정하는 경우 (PUT: http://localhost:8080/api/admin-web/users/update/{targetEmpNo})

  • 우측 중앙부에 초록색으로 '200 OK'로 정상적으로 API 통신되었음을 확인할 수 있음

 

Results

  • SELECT문으로 admin_user_information 테이블에 employee_no가 '100101'인 데이터의 'usage_exp_date'가 변경된 것을 확인

 

DELETE

실제 DELETE 동작을 위해서는 DB Query로 DELETE 구문을 사용해야하지만, 내부 로직은 삭제(Delete)가 아닌 수정(Put)으로 구현되어 있습니다.

따라서 API Mapping(Postman)은 PUT으로 설정하여 테스트합니다.

 

Postman (API Test)

CASE #1 특정 데이터를 삭제하는 경우 (DELETE: http://localhost:8080/api/admin-web/users/delete/100101)

  • 우측 중앙부에 초록색으로 '200 OK'로 정상적으로 API 통신되었음을 확인할 수 있음

 

Results

  • SELECT문으로 admin_user_information 테이블의 employe_no가 '100101'인 데이터의 'usage_exp_date'가 지정한 날짜로 변경되어 있는 것을 확인

 

 


댓글