0
0

[Swagger][OpenAPI]Swagger Editorとかで作ったJSONを各種コードに変換する方法

Posted at

極力楽をしたい、コードなんか覚えたくない

自分は「車輪の再発明」的な無駄なことが大好きなので、既にこの世に出回りまくってるけど自分でも作ってみたいという、謎のやる気でプログラム組んでたりしますが、世の中にはそんな時間と労力の無駄を嫌う人が多数いるため、自動化とかAIとかにコード組んでもらってコピペするという風潮のようです。

仕方ないよね、これからプログラム始める人達は覚えることが多すぎるから、如何に楽に時短で済ませれるかがネックになるもんね。

そんなわけで、タイトルの通りOpenAPI形式で書かれたJSONファイルから、JavaやTypeScriptのコードを生成できるよっていうツールをご紹介。

openapi-generator

まぁこれの紹介です。

自分の場合はjsonファイルをAngular用に変換することが多いため、使い方とかそれの簡単なサンプルを。。。

ざっくりフォルダ構成

rootDir/
|-swagger.json
|-openapi-generator-cli.jar
|-output/
 |-生成されたソース

手順

まずはツールに喰わせるJSONを作る(色々と省略)

swagger.json
{
  "openapi": "3.0.1",
  "info": {
      "title": "API定義",
      "description": "アプリで使用される REST APIです",
      "version": "v1.0"
  },
  "paths": {
      "/api/v1.0/hogehoge": {
        // 省略
      }
  }
}

ここらへんは設計書とかから自力で作るか、コードから作れる物もあったりしますので、そこら辺は自分で調べてね。
コードから生成するとか意味わかんね?と思った人もいるかも知れませんが、既にAPI(バック)自体は出来ていてソレをフロント(要はWeb画面やスマホ画面)から呼び出したいって時に、【フロント用のコード】を生成するためって言えば伝わるかしら?
いわゆるフロントとバックを分業してたりした時に、役立つって話ですよ。

コードをぶっ叩く

自分の場合は、携わってるプロジェクト上、Javaが環境変数に登録されてることが多いため、jarファイルを使って以下のコマンドをぶっ叩いてコードを生成しています。

powershellでぶっ叩くやつ
java -jar openapi-generator-cli.jar generate -i ./swagger.json -g typescript-angular -o ./output
  • -i:食わせるjsonファイルを指定(パス指定)
  • -g:オプションに作り体現を指定(どんな言語がいけるかはここ参照)
  • -o:コードの出力先を指定

他にも細かいオプションがあったりしますが、上記だけで十分必要最低限のコードは生成が出来ます。
※言語によっては細かい追加オプションが必要になるかも知れませんが。。。

まとめ

ものすごくざっくりと使い方を記述しましたが要は、、、
楽して不具合の少ないコードが生成できるんであれば絶対に利用したほうがいい!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0