もがき系プログラマの日常

もがき系エンジニアの勉強したこと、日常のこと、気になっている技術、備忘録などを紹介するブログです。

mockserverをmockできるAPIサーバを作る

はじめに

こんばんは。

今回は mockサーバーを作った際の備忘録です。

ローカル開発のさいに実際に通信せずにmockできるようにするためにdockerで作ります。

色々あるみたいですが、今回作ったのは この mockserver

github.com

さっそくやってみます。

本題

いきなりコード

docker-compose.yml

version: '3'
services:
  mockServer:
    platform: linux/amd64
    image: mockserver/mockserver:latest
    ports:
    - 1080:1080
    environment:
      MOCKSERVER_WATCH_INITIALIZATION_JSON: "true"
      MOCKSERVER_INITIALIZATION_JSON_PATH: /config/initialization.json
    volumes:
      - ./stub.json:/config/initialization.json

stub.json

[
  {
    "httpRequest" : {
      "method" : "GET",
      "path" : "/api/users"
    },
    "httpResponse" : {
      "body" : [
        {
          "id": 1, 
          "name": "user 1"
        },
        {
          "id": 2, 
          "name": "user 2"
        }
      ],
      "statusCode": 200
    }
  }
]

結果

$ curl localhost:1080/api/users
[ {
  "id" : 1,
  "name" : "user 1"
}, {
  "id" : 2,
  "name" : "user 2"
} ]

という感じで簡単にできました。

終わりに

今回は簡単に試してみただけですが、stubのファイルを分割したりするのは簡単にできるのかな?

実際にこれを開発で使うかはもう少し調査が必要そうです。

現場からは以上です。