2022-08-01から1ヶ月間の記事一覧

Azure Cosmos DB EmulatorをJavaで操作する(実装編)

前回の記事でAzure Cosmos DB EmulatorにJavaから接続するための設定が完了したので、今回は実際にAzure Cosmos DB Emulatorを操作する処理を実装していく。 Azure Cosmos DB EmulatorにJavaから接続するための設定は以下の記事を参照 olafnosuke.hatenablog…

Azure Cosmos DB EmulatorをJavaで操作する(準備編)

2記事に分けて、Java(Spring Boot)からAzure Cosmos DB Emulatorを操作する手順をまとめます 。 今回はJava側からEmulatorに接続するための準備段階の手順についてまとめていきます。 Azure Cosmos DB Emulatorのダウンロード 以下のサイトからダウンロー…

SwaggerファイルをAPI Blueprintファイルへ変換する

API Blueprintファイルへの変換 Swaggerファイルへの変換ツールとして API Elements CLIを使用する。 API Elements CLI(Github) サンプルとして、以下のSwaggerファイルをAPI Blueprintファイルに変換する。 openapi: '3.0.0' info: title: サンプルAPI desc…

Swaggerファイルでモックサーバ起動

Swaggerファイルを使用してモックサーバを起動する方法をまとめる。 モックサーバーには prism を使用する。 prism(Github) 仕様書作成準備 作成したAPI仕様書を管理するためのディレクトリを作成し、npm initコマンドを実行する。 以下は作成されたpackage.…

ソースコードのフォーマットチェック(Gradle Plugin)

spotless plugin ソースコードなどのフォーマットチェックおよびフォーマッットを行うタスクを提供するプラグイン Github 以下の言語のフォーマットに対応している Java (google-java-format, eclipse jdt, clang-format, prettier, palantir-java-format) G…

jsファイルとcssファイルをminifyする(Gradle Plugin)

gradle minify plugin https://github.com/gradle-webtools/gradle-minify-plugin 依存関係の追加 build.gradleにプラグインを追加する。 plugins { id("org.gradlewebtools.minify") version "1.3.1" } プラグインの設定 オプションはかなり多く存在してい…

Doma2で楽観排他

Doma2で楽観排他を実現する方法と更新失敗時の例外処理についてまとめる。 Domaの設定方法 エンティティクラスの楽観ロック用のバージョンカラムにあたるメンバ変数に@Versionを付与する。 @Entity @Table(name = "sample") @ToString @EqualsAndHashCode pu…

エンティティの型を変更する方法(Doma2)

①ドメインクラスの定義 1. エンティティでマッピングに使用するクラスに@Domainアノテーションを付与する 2. アノテーションの属性factoryMethodでインスタンスを生成するためのメソッド名を指定する 3. アノテーションの属性accessorMethodでラップする値を…

Spring Bootで非同期処理

Spring Bootで非同期処理を実装する方法を説明する。 非同期で実行したいメソッドを作成する Service実装クラスで、非同期で実行したいメソッドを実装する。 メソッドに@Asyncのアノテーションを付与する 属性値に非同期処理の設定のbean名を指定する メソッ…

Azure Functionsプロジェクトの作成方法

コマンドプロンプトで作成 必要なツールのインストール 〇Node.js(Windows 64bit版 LTS) 以下のサイトからインストール。 https://nodejs.org/ja/download/ 〇Azure Functions Core Tools コマンドプロンプトで以下のコマンドを実行する。参考 npm i -g az…

プロパティの有無/値によってBean登録するクラスを切り替える(Spring Boot)

@ConditionalOnProperty SpringBootが提供しているアノテーションで、ある特定のプロパティが指定の値かどうかチェックを行う。 チェック結果がtrueの場合、アノテーションを付与しているメソッドが実行され、bean登録される。 アノテーションの属性には以下…

Swaggerファイルの分割・統合

APIがいっぱいあって、1つのSwaggerファイルに全部を書きたくないときのためのメモ。 複数ファイルへの分割 サンプルとして、以下のファイルを複数ファイルに分割する。 openapi: '3.0.0' info: title: サンプルAPI description: API仕様サンプル用 termsOfS…

DBマイグレーションツール FlyWay の使い方(Gradle Plugin)

参考サイト:FlyWay公式 Gradle Pluginの定義追加 FlyWayを使用したいプロジェクトの build.gradle に以下の設定を記述する。 buildscript { repositories { mavenCentral() } dependencies { // 使用するDBのJDBCドライバをクラスパスに設定する classpath …

SwaggerファイルをHTML出力する

API仕様書記述方法の中でもメジャーであるSwaggerについて、静的HTML出力する方法のメモ。 HTMLの出力ツールとして redoc-cli を使用する。 redoc-cli(Github) 仕様書作成準備 作成したAPI仕様書を管理するためのディレクトリを作成し、npm initコマンドを実…