Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- IntelliJ
- kotlin
- kotlin coroutine
- CKA 기출문제
- 정보처리기사 실기 기출문제
- Linux
- kotlin querydsl
- docker
- minikube
- Pinpoint
- Java
- 코틀린 코루틴의 정석
- aws
- AI
- 티스토리챌린지
- AWS EKS
- 오블완
- APM
- Kubernetes
- 정보처리기사 실기
- Elasticsearch
- CKA
- 정보처리기사실기 기출문제
- 공부
- mysql 튜닝
- CloudWatch
- Spring
- MySQL
- 기록으로 실력을 쌓자
- PETERICA
Archives
- Today
- Total
피터의 개발이야기
[Docker] MockServer 사용하기: API 모킹의 간단한 솔루션 본문
반응형
ㅁ 들어가며
오늘은 Docker를 이용해 MockServer를 설정하고 사용하는 방법에 대해 알아보았다. MockServer는 API 응답을 모킹하는 데 매우 유용한 도구로, 개발 및 테스트 과정에서 큰 도움이 된다.
ㅁ MockServer란?
MockServer는 HTTP 요청에 대해 사전 정의된 응답을 제공하는 도구이다. 실제 서버 없이도 API 응답을 시뮬레이션할 수 있어, 프론트엔드 개발이나 테스트 환경 구축에 매우 유용하다.
ㅁ Docker로 MockServer 실행하기
docker pull mockserver/mockserver
docker run -d -p 1080:1080 mockserver/mockserver
ㅁ 응답 설정하기
# req
curl -X PUT "http://localhost:1080/mockserver/expectation" -d '{
"httpRequest": {
"path": "/api/hello"
},
"httpResponse": {
"statusCode": 200,
"body": "Hello, World!"
}
}'
# res
[ {
"httpRequest" : {
"path" : "/api/hello"
},
"httpResponse" : {
"statusCode" : 200,
"body" : "Hello, World!"
},
"id" : "f7a98617-b33f-4c2f-b7eb-a64bc6c85c3b",
"priority" : 0,
"timeToLive" : {
"unlimited" : true
},
"times" : {
"unlimited" : true
}
}]
ㅇ MockServer에 응답을 설정하는 방법은 여러 가지가 있지만, 가장 간단한 방법은 curl을 사용하는 것이다.
ㅇ 이 설정은 /api/hello
경로로 오는 요청에 대해 "Hello, World!" 응답을 반환하게 한다.
ㅁ 응답 테스트하기
curl http://localhost:1080/api/hello
ㅇ 응답 테스트를 위해 curl 명령어를 실행하면 "Hello, World!"라는 응답을 받는다.
ㅁ MockServer Examples
ㅇ 페이지 이동
- java - mocking scenarios
- java - proxying with a range of libraries
- node - running mock server, proxying & mocking scenarios
- curl - mocking scenarios
ㅁ 마무리
Docker를 이용한 MockServer 설정은 API 개발 및 테스트 과정을 크게 간소화할 수 있다. 실제 서버가 준비되지 않았거나, 특정 시나리오를 테스트해야 할 때 매우 유용하게 사용할 수 있다.
MockServer의 더 많은 기능과 고급 설정에 대해 알고 싶다면 공식 문서에서 확인 할 수 있다.
ㅁ 함께 보면 좋은 사이트
반응형
'DevOps > Docker' 카테고리의 다른 글
[Docker] Docker Hub 사용 및 제한 정책 (0) | 2025.02.07 |
---|---|
Lazydocker: Docker 관리를 위한 강력한 터미널 UI (0) | 2025.02.03 |
[Docker] com.docker.vmnetd는 사용자의 컴퓨터를 손상시킵니다 이슈 해결 (0) | 2025.01.13 |
[Docker] Error saving credentials: error storing credentials 해결방법 (0) | 2025.01.13 |
[Docker] 도커파일의 EXPOSE와 "docker run -p" 명령의 차이점 (0) | 2025.01.08 |
Comments