본문 바로가기
[API 테스트]

[Docker] 설치 및 방법 및 API 테스트

by 슬쨩! 2024. 1. 25.

 ✅ 개발환경 구축하기


      ✔️ 요약
       1. Docker에 DB(MYSQL) IMAGE 및 Container 생성       

 

          -. 가상환경을 설치하여 다양한 Application 개발 환경을 구성하게 함
          -. IMAGE를 생성하고 생성된 IMAGE로 Container를 인스턴스 해서 사용

       2. HeidSQL과 연동 
           -. 생성된 DB와 연동하여 관리 가능
           -. 스프링 부트 DB 및 table 생성

 

       3. 스프링 부트 /boards 연동

           -. 127.0.0.1:8080/boards 

       4. 포스트맨 연동
           -. 127.0.0.1:8080/boards 주소에 접속해서 get/post/put/delete 데이터 확인


[준비]

WSL 다운로드
Docker 설치 - id/ 비밀번호 설정
 ( 컴퓨터 재부팅하고 나면 linux -Ubuntu 실행되서 id 랑 비밀번호 계정 생성)

 

[1] Docker에 DB(MYSQL) IMAGE 및 Container 생성


-. docker ps : 관련된 파일 출력

-. docker pull mysql : MYSQL IMAGE 다운로드  (IMAGE 생성)
 * 상황에 따라서 명령어 변경으로 mariadb 등 IMAGE 불러오기 가능

-. docker images : MYSQL 목록 확인
-. docker run --name sbb_db -e MYSQL_ROOT_PASSWORD=1234 -d mysql : 실행 (mysqlsample은 컨테이너 이름) (Container 생성)

-. docker ps : mysql 목록 확인 가능
-. docker exec -it sbb_db mysql -uroot -p : mysql 접속, 비밀번호 1234 입력

-. docker run --name sbb_db2 -e MYSQL_ROOT_PASSWORD=1234 -p 3306:3306 -d mysql
  : 옵션 -외부에서 접속 허용

 

✔️ [Docker Container에 생성 확인]

 

재생을 통해서 DB 관리자 툴에서 접속 가능 

 

 


 

[2] HeidSQL과 연동 

 

[HeidiSQL 디비 접속]

 

-. 사용자 : root
-. 암호 : 1234
-. 포트 번호: 3306
-. 데이터베이스에 테이블 직접 생성해주면 바로 db에 접근 가능 (db 생성 이후에)

✔️ [HeidiSQL 디비 생성 및 테이블 생성]

 

-. dev_db를 생성
-. board 테이브를 생성
-. board_no, title, content, writer, reg_date 컬럼 생성

 


 

[3] 스프링 부트 API 코드 

* 실전 스프링 부트 rest api 개발 1505 폴더 불러오기

 

-. application.properties 파일 수정
-. username 및 password

✔️ [POST : 127.0.0.1:8080/boards]

-. POST : 데이터 등록

 

✔️ [GET127.0.0.1:8080/boards]

 

-. GET : 데이터목록 출력

✔️ [GET127.0.0.1:8080/boards/게시판 id

-. GET : 데이터 상세 보기 출력

 

✔️ [PUT 127.0.0.1:8080/boards/게시판 id

 

-. PUT : 데이터 수정하기

✔️ [DELETE 127.0.0.1:8080/boards/게시판 id

 

 

. DELETE : 데이터 삭제하기

 

 


 

[4] 포스트맨 연동 및 테스트

-. DB 서버 동작 On

-. 스프링 서버 동작 On

 

[REST API 설계]

✔️ POST : 데이터 등록

 

 

[DB 출력 화면]

 

 

 

✔️ GET : 데이터 전체 목록 보기

 

 

- SEND이후에 BODY에 전체 DB 데이터가 출력됨
- 리스트 타입은 [ ] 안에 { } JSON 문법을 쓴다 참고

 

 

✔️ GET : 데이터 상세 보기

 

 

- ID 번호를 입력해서 각 번호에 맞는 데이터를 불러 올수 있음

 

✔️ PUT : 데이터 수정하기

 

 

[DB 출력 화면]

 

 

 

✔️ DELETE : 데이터 삭제하기

 

 

-. 1번 데이터는 삭제됨

 

[DB 출력 화면]

 

'[API 테스트]' 카테고리의 다른 글

[활용] 날씨API 활용하기  (0) 2024.05.13
웹 에러코드 참고하기  (0) 2024.04.21