Zenn
🐓

OpenAPI仕様書からPrismのモックを作る(VeletaでGo)

2024/10/09に公開

はじめに

弊社では、2024年10月23日から始まる Japan DX Week の会場で、新製品の Veleta をローンチします。

https://www.atpress.ne.jp/news/410896

お披露目の場なので、ミニセミナーと称して、デモをしまくります。
デモのネタをこちらのブログでも公開してまいります。

ということで、「VeletaでGo」というシリーズ?でいくつか投稿したいと思います。
告知「多め」「濃いめ」という、どこかのラーメン屋さんのような感じですが、告知は、なるべく「おわりに」よりも後ろにしたいと思いますので、ご容赦ください。

やってみた

準備

「docker-compose が動くこと」

以上

デモ環境については、別途、ブログにまとめたいと思います。

OpenAPI 仕様書

Veleta は、Web API サーバを自動生成する SaaS ですが、その Web API サーバの OpenAPI 仕様書も生成して、HTML にコンパイルして、Web API サーバ上でホストします。Web API サーバ上ではありませんが、github.io でホストしたものがこちらです。

この HTML からでも可能ですが、一番上の方にある Download ボタンを押すと、以下の JSON ファイルが入手できます。

https://github.com/roboninc/roboninc.github.io/blob/main/veleta-sample/openapi.json

これをダウンロードして、保存しておきます。

Prism を動かす

以下のような docker-compose.yml を up か start すれば、動きます。

docker-compose.yml
# version: '3'

services:
  prism:
    image: stoplight/prism
    command: mock -h 0.0.0.0 /openapi.json --dynamic
    volumes:
      - ./openapi.json:/openapi.json
    ports:
      - "4010:4010"
araki@TP25 MINGW64 /c/Demo/15
$ docker-compose start
[+] Running 1/1
 ✔ Container 15-prism-1  Started                             0.7s 

araki@TP25 MINGW64 /c/Demo/15
$ curl http://localhost:4010/customer/1
{"address":"ad sit deserunt Excepteur eiusmod","customerId":48004356.88133246,"name":"a"}

ということで、
「Web API サーバ立てて、Web API 連携にするよ!」
「連携テストのサーバはどうすんの?」
については、
「Prism でやれば、いいね!」
ということになります。

余談ですが、最近は、version 書くと怒られる処理系もあるのですね。仕様とのことです。

https://github.com/compose-spec/compose-spec/blob/main/04-version-and-name.md

おわりに

ということで、Veleta を使えば、Web-API サーバだけでなく、OpenAPI 仕様書も自動生成されるので、OpenAPI 仕様書のデータを使用できるツール群も活用できてしまいます。今回は、一瞬でテストサーバが起動できる Prism を紹介しました。

2024年10月23日から25日まで、弊社は、幕張メッセで開催される Japan DX Week のデータドリブン経営 EXPO に出展いたします。

弊社ブース A28-62 では、毎日、下記のミニ・セミナーを実施する予定です。

# Day1 & 2 Day3 タイトル
01 10:30~10:40 10:30~10:40 MySQLではじめるMashu
02 10:50~11:00 10:50~11:00 VeletaでWeb-APIを生成しよう
03 11:10~11:20 11:10~11:20 Veletaで生成したWeb-APIコンテナを動かそう
04 13:10~13:20 11:50~12:00 MariaDBではじめるMashu
05 13:30~13:40 12:10~12:20 テーブル仕様書をインポート&エクスポートしよう
06 13:50~14:00 12:30~12:40 カスタムタグを作成してインポートしよう
07 14:30~14:40 13:10~13:20 OracleではじめるMashu
08 14:50~15:00 13:30~13:40 VeletaでWeb-APIを生成しよう
09 15:10~15:20 13:50~14:00 Veletaで生成したWeb-APIのソースをビルドして動かそう
10 15:50~16:00 14:30~14:40 SQLServerではじめるMashu
11 16:10~16:20 14:50~15:00 Mashu管理者のお仕事(組織、メンバー、権限、決済)
12 16:30~16:40 15:10~15:20 セルフサービスなBIとデータカタログ
13 16:50~17:00 15:50~16:00 PostgreSQLではじめるMashu
14 17:10~17:20 16:10~16:20 VeletaでWeb-APIを生成しよう
15 17:30~17:40 16:30~16:40 OpenAPI仕様書を活用しよう

入場には、登録(無料)が必要です。よろしければ、下記からどうぞ。

https://www.japan-it.jp/autumn/ja-jp/register.html?code=1158905155562144-I24

おわりに2

ミニ・セミナー以外に、本物のセミナーも(2回も)やります。

こちらも、登録(無料)が必要です。よろしければ、下記からどうぞ。

https://biz.q-pass.jp/f/9692/itw_autumn24_conference/seminar_register#seminar79490

GitHubで編集を提案
株式会社ROBONの技術ブログ

Discussion

ログインするとコメントできます