Spring Boot & JPA

2.7. 테스트 및 실행

backend 따라쟁이 2025. 1. 3. 20:54

1. 테스트 및 실행 목표

이번 섹션에서는 구현된 RESTful API를 테스트하고, MySQL 데이터베이스와의 연동이 제대로 작동하는지 확인합니다. API 테스트는 Postman과 같은 도구를 사용하며, MySQL Workbench를 통해 데이터베이스 상태를 확인합니다.


2. 애플리케이션 실행

Spring Boot 애플리케이션을 실행하여 RESTful API 서버를 시작합니다.

실행 방법

    1. RestfulApiJpaApplication 클래스에서 main() 메서드를 실행합니다
    2. 애플리케이션이 성공적으로 실행되면, 기본적으로 http://localhost:8080에서 API 서버가 동작합니다.

콘솔 확인

    애플리케이션 실행 후 콘솔에 출력되는 로그를 확인하여 데이터베이스 연결 및 API 엔드포인트 등록 여부를 점검합니다

3. RESTful API 테스트

API 테스트는 Postman과 같은 클라이언트를 사용하여 수행하며, HTTP 요청과 응답을 통해 기능을 확인합니다.


1) 데이터 조회 (GET)

모든 데이터 조회

  • Endpoint: GET /api/data
  • Request: Body 필요 없음.
  • Response Example:

특정 데이터 조회

  • Endpoint: GET /api/data/{id}
  • Request: {id} 경로 변수에 조회할 keyno 입력(example에서는 /api/data/1 입력)
  • Response Example

2) 데이터 추가 (POST)

  • Endpoint: POST /api/data
  • Request Body

 

  • Response Example

MySQL 확인

Postman 요청 후, MySQL Workbench에서 데이터를 확인합니다

SELECT * FROM sam_table;

 

3) 데이터 수정 (PUT)

  • Endpoint: PUT /api/data/{id}
  • Request Body:

  • Response Example

 

MySQL 확인

SELECT * FROM sam_table WHERE keyno = 3;

 

4) 데이터 삭제 (DELETE)

  • Endpoint: DELETE /api/data/{id}
  • Request: {id} 경로 변수에 삭제할 keyno 입력.
  • Response: HTTP 상태 코드 200 OK (응답 본문 없음).

MySQL 확인

SELECT * FROM sam_table WHERE keyno = 3;

 

 

4. 테스트 성공 사례

테스트 도중 주의해야 할 주요 성공 기준:

  1. HTTP 요청에 대한 적절한 응답 코드 반환:
    • GET: 200 OK
    • POST: 201 Created
    • PUT: 200 OK
    • DELETE: 200 OK
  2. 데이터베이스에서 데이터가 올바르게 삽입, 수정, 삭제되었는지 확인.
  3. 오류 요청에 대한 적절한 예외 처리:
    • 예: 없는 데이터에 대한 GET 요청 시 404 Not Found.

5. 오류 처리

테스트 중 발생할 수 있는 일반적인 오류와 해결 방법은 다음과 같습니다:

1) 데이터베이스 연결 오류

  • 원인: application.properties에 잘못된 MySQL 설정.
  • 해결:
    • 데이터베이스 URL, 사용자 이름, 비밀번호 확인.
    • MySQL 서버가 실행 중인지 확인.

2) HTTP 요청 시 잘못된 응답

  • 원인: 잘못된 API 요청 또는 경로 변수 미입력.
  • 해결:
    • 요청 형식 및 Body를 확인.
    • 경로 변수 입력 여부 점검.

3) 트랜잭션 롤백 오류

  • 원인: 예외 발생 시 트랜잭션 처리 누락.
  • 해결:
    • @Transactional 어노테이션 추가하여 트랜잭션 관리.

6. MySQL 로그 확인

Spring Boot의 JPA 설정에 따라 실행된 SQL 로그를 확인하여 실제 데이터베이스 작업을 검증합니다:

properties 설정:

콘솔 출력 예시:

 

7. 결론

RESTful API의 테스트 및 실행 과정을 통해 MySQL 데이터베이스와의 연동이 올바르게 작동하는 것을 확인했습니다. Postman과 MySQL Workbench를 활용하여 모든 CRUD 기능이 제대로 작동함을 검증했습니다. 이번 단계에서 우리는 데이터 흐름과 트랜잭션 관리의 중요성을 확인할 수 있었습니다.

다음 섹션에서는 프로젝트 구조와 각 클래스의 역할을 정리하겠습니다.