Nginx와 Dockerfile로 API 스텁 만들기
4867 단어 nginxtestWebAPIdockerfile도커
스텁이란?
프로그램의 모듈을 테스트할 때, 그 모듈이 호출하는 하위 모듈 대신에 사용하는 대용품입니다. 하위 모듈이 미완성이더라도 대신 스텁을 사용하여 테스트가 가능합니다. 잘 모의와 잘못 될 수 있지만, 모의와는 별도입니다.
이 기사에서는 외부 API를 이용하는 시스템을 구축할 때 그 API를 Nginx와 Dockerfile을 이용하여 쉽게 스텁화하는 방법을 소개합니다. API URL의 예로 다음 두 가지를 사용합니다.
스텁 파일 만들기
"/api/v1/users/"라는 URL에서 다음과 같은 응답을 반환하는 API 스텁 파일을 만듭니다.
users.json
[
{
"id":"1",
"first_name":"Test",
"last_name":"Ichiro"
},
{
"id":"2",
"first_name":"Test",
"last_name":"Jiro"
}
]
그런 다음 "/api/v1/companys/"라는 URL에서 다음과 같은 응답을 반환하는 API 스텁 파일도 만듭니다.
companys.json
[
{
"id":"1",
"name":"Company1"
},
{
"id":"2",
"first_name":"Company2"
}
]
Nginx default.conf 만들기
Docker의 Nginx 공식 이미지로 작성하므로 default.conf가 됩니다. 설정은 다음과 같습니다.
default.conf
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
# ユーザー情報取得API
location /api/v1/users/ {
root /usr/share/nginx/json;
index users.json;
}
# 企業情報取得API
location /api/v1/companys/ {
root /usr/share/nginx/json;
index companys.json;
}
}
처음에 소개한 두 개의 URL 위치를 나열합니다. 설정에 대한 자세한 내용은 "Nginx 정적 콘텐츠 제공"을 참조하십시오.
Dockerfile 만들기
Dockerfile을 다음과 같이 만듭니다.
FROM nginx:latest
ADD ./conf.d/default.conf /etc/nginx/conf.d
ADD ./json /usr/share/nginx/json/
작성한 각 파일의 디렉토리 구성
지금까지 작성한 파일의 디렉토리 구성은 다음과 같이 합니다.
├─api-stub ※作業ディレクトリ
│ │ Dockerfile
│ │
│ ├─conf.d
│ │ default.conf
│ │
│ └─json
│ └─api
│ └─v1
│ ├─companys
│ │ companys.json
│ │
│ └─users
│ users.json
Docker 이미지 만들기
docker build -t api-stub-image .
작성한 이미지로부터 컨테이너의 작성·기동
docker run --name api-stub -d -p 8080:80 api-stub-image
이제 스텁이 완성되었습니다.
동작 확인
아래와 같이 각 API로 작성한 스텁 파일이 반환되면 성공합니다.
※1행과 2행은, Chrome 확장의 JSON Viewer가 붙이고 있는 메타 정보라고 생각하므로 무시해 주세요.
이상입니다.
Reference
이 문제에 관하여(Nginx와 Dockerfile로 API 스텁 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/NagaokaKenichi/items/008b0fc84f3123670c6a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)