facebook twitter hatena line email

「仮想サーバ/docker/MockApiサーバ」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
行6: 行6:
 
docker-compose.yml
 
docker-compose.yml
 
<pre>
 
<pre>
version: '3'
 
 
services:
 
services:
 
   mmock:
 
   mmock:
     image: jordimartin/mmock:v3.0.0
+
     image: jordimartin/mmock:latest
 
     restart: 'always'
 
     restart: 'always'
 
     volumes:
 
     volumes:
行17: 行16:
 
       - '8083:8083'
 
       - '8083:8083'
 
</pre>
 
</pre>
mmock/200_get.yml
+
mmock/helloworld.yml
 
<pre>
 
<pre>
 
request:
 
request:
行29: 行28:
 
   body: '{"hello": "{{request.query.name}}, my name is {{fake.FirstName}}"}'
 
   body: '{"hello": "{{request.query.name}}, my name is {{fake.FirstName}}"}'
 
</pre>
 
</pre>
 +
 +
実行し、コンテナを稼働させる
 +
$ docker-compose up
  
 
APIリスト管理画面
 
APIリスト管理画面
行35: 行37:
 
httpアクセス
 
httpアクセス
 
ttp://0.0.0.0:8083/hello?name=helloworld
 
ttp://0.0.0.0:8083/hello?name=helloworld
 +
 +
{"hello": "helloworld, my name is Catherine"}
  
 
参考:https://qiita.com/Ryo478468/items/4a959c5d7312045f471c
 
参考:https://qiita.com/Ryo478468/items/4a959c5d7312045f471c

2021年1月29日 (金) 16:50時点における版

mmockでサーバを作成

go言語で作られたmockAPIサーバー jordimartin/mmockを使う。

dockerhubのmmock:https://hub.docker.com/r/jordimartin/mmock

docker-compose.yml

services:
  mmock:
    image: jordimartin/mmock:latest
    restart: 'always'
    volumes:
      - ./mmock:/config
    ports:
      - '8082:8082'
      - '8083:8083'

mmock/helloworld.yml

request:
  method: GET
  path: "/hello/*"
response:
  statusCode: 200
  headers:
    Content-Type:
    - application/json
  body: '{"hello": "{{request.query.name}}, my name is {{fake.FirstName}}"}'

実行し、コンテナを稼働させる

$ docker-compose up

APIリスト管理画面 ttp://0.0.0.0:8082

httpアクセス ttp://0.0.0.0:8083/hello?name=helloworld

{"hello": "helloworld, my name is Catherine"}

参考:https://qiita.com/Ryo478468/items/4a959c5d7312045f471c

Swaggerapiでサーバー作成

docker pull swaggerapi/swagger-ui
docker run -d -p 8090:8080 swaggerapi/swagger-ui

以下でswagger-uiのapi設定のAPIリストが出る

httpアクセス ttp://localhost:8090

サンプルでxmlを表示したい場合

  1. /pet/findByStatusを開いて、try it outを選択
  2. availableを選択

requestに https://petstore.swagger.io/v2/pet/findByStatus?status=available とでるので、表示するとxmlが出る。

参考:https://qiita.com/aucfan-engineer/items/5532fcf69b4f4dcd1c41