ほんの少しだけOpenAPI Generatorを拡張してみません?
この記事は夏のリレー連載2024 9日目の記事です。 APIファーストな開発アプローチをとられている方は、「OpenAPI Generator」を用いてOpenAPIの定義ファイルからソースコードを自動生成されたことがあるかと思います。 このとき、自動生成されるソースコードにひと手間加えられたらいいのになぁ~と感じたことはありませんか...
記事を読むnpm モジュールを GitHub Actions で GitHub Packages にデプロイする
庄司です。 GitHub Packages は、Docker イメージ、npm、Maven、NuGet、RubyGems などさまざまな言語で書かれたモジュール/パッケージを管理できます。 この記事では、OpenAPI Generator で生成した TypeScript モジュールを GitHub Actions を使って GitHub Packages にデプロイする方法を説明します...
記事を読む第5回 Open Policy Agent とサイドカーパターンによる認可の実装
庄司です。 前回の記事で、「挨拶の音声を生成する」コマンド (以降 Hello コマンドまたは Hello サービスといいます) を完成させました。 この記事では、このコマンドの実行権限チェックに Open Policy Agent (OPA) を使って説明します。 図のようにサービスは、3つのコンテナイメージで構成された、docker-compose または Pod です...
記事を読む第4回 ドメイン層の実装とサービスの完成
庄司です。 シリーズ4回目は Spring Integration を使うドメインイベントの発行 (publish) について説明します。 ドメイン駆動設計 (DDD - Domain-driven design) # 説明の前に「Spring Boot と Apache Camel の統合」の議論を受けて冬眠カプセルを冬眠ポッド (hibernation pod) へ、船員を旅行者 (passenger) へとユビキタス言語の変更等イベントストーミングの修正がありました...
記事を読む第3回 OpenAPI Generator 利用時の Generation Gap パターンの適用
庄司です。 前回はドメイン駆動設計の話題を中心に説明しました。 今回は OpenAPI Generator の使い方について説明します。 説明する OpenAPI Generator のバージョンは 6.0.0 です。 OpenAPI Generator はさまざまな言語とフレームワークに対応したクライアントサイド、サーバーサイドのコードを生成します。OpenAPI Generator 自体の実行は Java を使います...
記事を読む第2回 イベントストーミングとドメイン駆動設計の戦略的設計
庄司です。 この記事は、「第1回 OpenAPI Generator を使ったコード生成」の続編です。 この記事のコードは、GitHub リポジトリに置いています。 前回の記事では、簡単に Spring Boot アプリが作成できるということを強調するためにシンプルな構成のコードにしていました。 ここで、少し現実感を持つために、このアプリケーションを利用するストーリーを描いてみます。 現在、ある宇宙船の設計を行なっています。人類が多惑星種となるために、この船には冬眠カプセルが装備されています...
記事を読む第1回 OpenAPI Generator を使ったコード生成
庄司です。 REST API の仕様を記述する OpenAPI Specification があります。この仕様では、JSON または YAML で API の仕様を記述します。 この業界標準の仕様で API を定義すると、開発に利用しやすいフォーマットされたドキュメントの提供やテスト用のモックを提供できます。 この定義を使うツールに OpenAPI Generator があります...
記事を読む