ホームページ >Java >&#&チュートリアル >Java と Spring Boot を使用して Postgres データベース用の REST API を生成する
このチュートリアルでは、monstarillo を使用して Postgres データベース用の Java API を生成する方法を説明します。 API は Spring Boot と Springdoc を使用して文書化します。 API は、実行対象のテーブルに対して CRUD 操作を実行します。 API の単体テストも生成されます。
このチュートリアルを進めるには、次のものが必要です:
monstarillo がインストールされました。
Postgres データベース – chinhook データベースを使用します。 Docker で Chinhook サンプル Postgres データベースをセットアップする
Java がインストールされています
Java IDE – InteliJ
を使用します。
Git
最初のステップは、API の生成に使用するテンプレートを取得することです。これを行うには、リポジトリ共有テンプレートのクローンを作成します。使用するテンプレートは java-api フォルダーにあります。
Monstarillo に生成されたコードを配置する場所を指示します
次に、生成されたコードをどこに配置するかを決定する必要があります。 Docker 経由で Monstarillo を実行します。 Monstarillo を実行している Docker イメージにディレクトリ ~/shared-volume を公開します。リポジトリのクローンを作成することによって作成された共有テンプレート フォルダーは、~/shared-volume フォルダーにあります。 ~/shared-volume/code-gen-output にコードを生成します。 Monstarillo は、コードを生成するときに code-gen-output フォルダーを作成します。
templates.json ファイルを変更します
Monstarillo は、json ファイルを使用して、実行するテンプレート、実行方法、生成するファイルの名前と配置場所を指示します。ファイル java-api/postgres/templates.json を変更します。 templates.json ファイル内のテンプレート配列は、Monstarillo にどのテンプレートを実行するか、作成するファイルの名前と配置場所を指示します。 templates.json ファイル内のタグ配列は、テンプレートや templates.json で使用されるいくつかの「タグ」を定義します。たとえば、PackagePath は templates.json ファイルで何度も使用されます。 PackagePath は多くのテンプレートで使用されますが、タグを使用すると一度定義できます。テンプレートを実行するには、タグ配列内の TemplateRoot タグと OutputPath タグを変更する必要があります。
*TemplateRoot * – テンプレート ルートは、複製したリポジトリ内の java-api フォルダーを指す必要があります。
*OutputPath * – 出力パスは、Monstarillo が生成したファイルを配置するフォルダーを指す必要があります。フォルダーがまだ存在しない場合は、Monstarillo によって作成されます。
*PackageBase * – クラスでパッケージを設定するために使用されます
*ArtifactId * – 生成された POM.xml
で使用されます
*GroupId * – 生成された POM.xml
で使用されます
*ApplicationClassName * – 生成されたアプリケーションのメインクラスの名前として使用されます
*ModelPropertySurrondString * – アプリケーションのモデルを生成するテンプレートで使用されます。これは、列名がキャメルケースである場合に便利です。
Docker で Monstarillo を実行しているので、タグを次のように設定します。
{ "tagName": "TemplateRoot", "value": "/usr/local/monstarillo/shared-templates/java-api" }, { "tagName": "OutputPath", "value": "/usr/local/monstarillo/code-gen-output/java-01" }
Monstarillo をローカルで実行している場合、タグを次のように設定します。
{ "tagName": "TemplateRoot", "value": "/home/patrick/code/patrick-templates/java-api" }, { "tagName": "OutputPath", "value": "/home/patrick/code-gen-output/java-01" }
Monstarillo を実行してコードを生成します
次に、Monstarillo を実行してコードを生成するコマンドを構築します。 Monstarillo に Postgres データベースを使用していることを伝え、接続情報を提供する必要があります。また、前に設定した template.json ファイルの場所を渡して、どのテンプレートを実行するかを Monstarillo に指示する必要があります。
Docker で Monstarillo を実行するには、コマンドは次のようになります:
docker run --volume=/mnt/c/code:/usr/local/monstarillo \ --network=host \ monstarillo/monstarillo:latest postgres \ --t /usr/local/monstarillo/shared-templates/java-api/postgres/templates.json \ --u postgres \ --p <Your Database Password> \ --db "chinhook-db" \ --host "localhost" \ --schema "public" In this command I am mounting /mnt/c/code to the docker image as /usr/local/monstarillo that is running monstarillo. My shared-templates folder is at /mnt/c/code/shared-templates and will be generating code to /mnt/c/code/code-gen-output/java-01
Monstarillo をローカルで実行している場合、コマンドは次のようになります:
monstarillo postgres \ --t /home/patrick/code/patricks-monstarillo-templates/java-api/templates.json \ --u postgres \ --p <Your Database Password>\ --db "chinhook-db" \ --host "localhost" \ --schema "public"
コマンドを実行すると、出力は次のようになります:
Monstarillo が各テーブル名を出力し、それが実行されることに注目してください。この情報を使用して、コマンドのエラーをトラブルシューティングできる場合があります。
生成されたコードを表示する
次に、選択した IDE で選択した出力ディレクトリを開いてコードを表示できます。
次に、生成されたコード内の application.properties ファイルを変更して、データベース接続情報を更新する必要があります。このファイルは src/main/resources/application.properties
にあります。IntelliJ では、IDE で PersistApi クラスを開いて実行します。
新しい API が実行されており、テストできます。ポストマンを利用させていただきます。 http://localhost:8080/album
でアルバム コントローラーにアクセスできます。http://localhost:8080/swagger-ui/index.html にアクセスして、生成されたコードの OpenAPI 定義を確認することもできます。
src/java/com.monstarillo.persist_api で生成された単体テストに注目してください
コメント欄でご意見をお聞かせください
以上がJava と Spring Boot を使用して Postgres データベース用の REST API を生成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。