ホームページ  >  記事  >  バックエンド開発  >  複数の YAML ファイルを含むオープン API 仕様

複数の YAML ファイルを含むオープン API 仕様

Susan Sarandon
Susan Sarandonオリジナル
2024-09-26 06:10:02835ブラウズ

Open API specs with more than one YAML file

REST API をドキュメント化したことがある人なら誰でも、これらのリソース、パス、リクエスト、スキーマをすべて備えた YAML ファイル全体を記述することがどのような感じかを知っていますが、突然、ファイルの最終行の長さは 5 桁です。はい、痛いです

最高のアプリケーションは自分たちで構築したものであるため、私は仕事で API を文書化しているまさに同じ場所にいて、この問題に対する実行可能な解決策が 1 つも見つからないために何度も検索しました。そこでプログラマーの本能が活きてきます。そして私たちは、自分たちのための新しいツールを構築するのに予定されていた時間の 5 倍の時間を費やしています。それがまさに私がやったことであり、OpenAPI 仕様として使用するために YAML ファイルを 1 つの Boss ファイルにマージする、Go で書かれた新しいツールを皆さんと共有したいと思います。

GOpenAPI の紹介

GOpenAPI (Golang OpenAPI) は、dirs.json というファイルを使用して、実行の最後にファイルとディレクトリ (yaml に相当するディレクトリ全体) を 1 つの swagger.yaml ファイルにスキャンするツールです。

ここでソースコードを確認できます。このリポジトリは、このツールを使用して最初の OpenAPI 仕様を作成するためのクローンを作成してドラフトとして使用できるテンプレートでもあることに注意してください (go install でインストールしたくない場合は、必ず gopenapi フォルダーを保持してください。そうでない場合は、完全にインストールされます)取り外し可能)

それはどのように機能しますか (そして、私はそれを機能させることができますか)

簡単です。gopenapi を実行すると、dirs.json ファイルが読み取られ、そこで宣言されているすべてのファイルとフォルダーを使用して OpenAPI 仕様の構築が開始されます。 dirs.json は、情報、サーバー、セキュリティなどの一意のキーのファイルと、テンプレートと呼ばれるキー (単なる空の OpenAPI yaml ファイル) を使用することに注意してください

単一のファイルに保持するのが難しいリソースとキー (パス、スキーマ、リクエストなど) はフォルダーに保存でき、それらはすべて OpenAPI で共通の #ref タグを使用して言及することもできます。マージ後は同じファイルに移動します。

このプロジェクトには、静的に提供できる Index.html も付属しており、dist フォルダー内に含まれる Swagger UI 公式バンドルとも対話します。

以上です、皆さん

(私と同じように) Reddit や github リポジトリをたくさん検索しても探していたツールが見つからなかった人のために、このツールが登場することを願っています。さて、あなたはそれを手に入れました、そしてそれは完全にオープンソースです。つまり、解決できる改善点や問題が見つかった場合は、私はあなたと協力して解決する前に躊躇しません。また、私は golang に関してはかなり初心者なので、このプロジェクトには改善すべき点がたくさんあるかもしれません。私はそれを最新の状態に保ち、常に改善するよう努めます (私もこれからよく使うので)

読んでいただきありがとうございます。私と同じように、この記事があなたにも役立つことを願っています ;)

以上が複数の YAML ファイルを含むオープン API 仕様の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。