TimerTriggerの作成(Spring Boot)

Spring Boot でAzure FunctionsのTimerTriggerを実装して、ローカルで動作確認する手順を示す。 プロジェクトの作成方法については、以下の記事参照。 olafnosuke.hatenablog.com バージョン Spring Boot:2.7.5 Java:17 ファンクションを新規追加する ファ…

EventGrid Triggerの作成(Spring Boot)

Spring Boot でAzure FunctionsのEventGrid Triggerを実装して、ローカルで動作確認する手順を示す。 プロジェクトの作成方法については、以下の記事参照。 olafnosuke.hatenablog.com バージョン Spring Boot:2.7.5 Java:17 ファンクションを新規追加する…

HTTP Triggerの作成(Spring Boot)

Spring Boot でAzure FunctionsのHTTP Triggerを実装する手順を示す。 プロジェクトの作成方法については、以下の記事参照。 olafnosuke.hatenablog.com バージョン Spring Boot:2.7.5 Java:17 ファンクションの新規追加する ファンクションを新規追加する…

Spring Bootで動作するAzure Functionsプロジェクト作成(Gradleプロジェクト)

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

mockMvcを使用したControllerのテスト方法(Spring Boot)

mockMvcを使用したControllerのテスト方法(Spring Boot) Controllerのテストやフィルターやインターセプターが実際に動作しているのか検証する際にMockMvcを使用する。 テストの作成方法をメモしておく。 シンプルなControllerのテスト作成 以下がテスト対象…

バリデーションのグルーピング

バリデーションの基本的な使用方法は、以下の記事参照 olafnosuke.hatenablog.com バリデーションのグルーピングの実装 バリデーションを複数つけているフィールドで、バリデーションの順番を指定したい場合や、条件によってバリデーションする項目や条件を…

カスタムバリデーションの実装方法

バリデーションの基本的な使用方法は、以下の記事参照 olafnosuke.hatenablog.com 提供されているアノテーション以外のバリデーションを行う場合、独自でバリデーション処理を実装する必要がある。 単項目チェックのカスタムバリデーションの実装方法 「文字…

Spring Boot:提供されているバリデーションの種類

バリデーションの基本的な使用方法は、以下の記事参照 olafnosuke.hatenablog.com Spring Bootで使用できるバリデーションはココを参照。 数値のバリデーション @Max 入力値が最大値以下であるかをチェックする。 対象の型:BigDecimal、BigInteger、byte、s…

Spring Bootが提供するバリデーションの使用方法

依存関係の追加 spring-boot-starter-validationの依存関係を追加する。 gradleを使用している場合、以下の記述をbuild.gradleに追加する。 // Hibernate Validator で Java Bean Validation を使用するためのスターター implementation 'org.springframewor…

SpringBootで画面と値のやり取りをしたい(ModelとModelAndView)

ModelとModelAndViewの使い方 Controllerクラスのメソッドの引数について 画面と値をやりとりするのに、ModelもしくはModelAndViewを使用する。 参考:https://spring.pleiades.io/spring-framework/docs/5.3.10/reference/html/web.html#mvc-controller Mod…

OSSの追加方法(Java)

OSSの追加方法(Java) Eclipseでツールを使わずにOSSを追加する OSSの使用するためには、使用したいOSSのjarファイルをクラスパスに追加する必要がある。 使用したいOSSのjarファイルをダウンロードする プロジェクトのルートにlibファイルを作成しそこにja…

Checkstyle チェック項目ーWhitespace

Checkstyleチェック項目:Whitespace CheckStyle公式ドキュメント ver 10.3.1 EmptyForInitializerPad for文の空の初期化式に空白を許可するかどうかをチェックする。 forの初期化式後に改行されている場合はチェックが実行されない。 〇forの初期化式とは f…

Checkstyle チェック項目ーSize Violations

Checkstyleチェック項目:Size Violations CheckStyle公式ドキュメント ver 10.3.1 AnonInnerLength checkstyle-java.hatenablog.com ExecutableStatementCount checkstyle-java.hatenablog.com FileLength checkstyle-java.hatenablog.com LambdaBodyLength…

Spring Bootでアプリケーション起動時にタイムゾーンを設定する

SpringApplicationEventを使用することで実現可能。 Spring Bootがデフォルトで用意しているイベントには以下がある。 イベントクラス名 説明 ApplicationFailedEvent SpringApplicationの開始に失敗したときにSpringApplicationによって発行されるイベント…

Spring Bootでサーブレットフィルターを作成する

サーブレットフィルターは、サーブレットやJSP(Springではコントローラー)において「共通の前後処理を記述するための仕組み」のことを指す。 javax.servlet.Filterを実装して作成する。 フィルタークラスの実装 Filterインターセプターには3つのメソッドが…

Checkstyle チェック項目ーRegexp

Checkstyleチェック項目:Regexp チェック実行例をより詳しく知りたい場合は公式を参照のこと。 ver 10.3.1 Regexp 指定されたパターンがファイル内に存在するか、存在する回数が設定値以下か、存在しないかをチェックする。 プロパティ プロパティ 型 デフ…

Checkstyle チェック項目ーNaming Conventions

Checkstyleチェック項目:Naming Conventions CheckStyle公式ドキュメント ver 10.3.1 AbbreviationAsWordInName 連続した大文字の長さをチェックする。 デフォルトでは、static, final修飾子のないフィールドや@Overrideのないメソッドでは、大文字を連続し…

Checkstyle チェック項目ーModifiers

Checkstyleチェック項目:Modifiers CheckStyle公式ドキュメント ver 10.3.1 ClassMemberImpliedModifier クラスおよびレコードのネストされた型に対する暗黙の修飾子をチェックする。 クラスやレコードのネストされた型の修飾子をチェックし、特定の修飾子…

Checkstyle チェック項目ーMiscellaneous

Checkstyleチェック項目:Miscellaneous CheckStyle公式ドキュメント ver 10.3.1 ArrayTypeStyle 配列の型定義のスタイルをチェックする。 JavaスタイルとCスタイルから選択可能。 Javaスタイル(デフォルト):public static void main(String args) Cスタ…

Checkstyle チェック項目ーMetrics

Checkstyleチェック項目:Metrics CheckStyle公式ドキュメント ver 10.3.1 BooleanExpressionComplexity 式中のboolean演算子(&&、 ||、 &、 |、 ^)の数を制限する。 プロパティ プロパティ 型 デフォルト値 説明 max int 3 1つの式で許可されるboolean演…

Checkstyle チェック項目ーJavadoc Comments

Checkstyleチェック項目:Javadoc Comments CheckStyle公式ドキュメント 検証環境 Checkstyleバージョン:10.3.3 Javaバージョン:17 AtclauseOrder checkstyle-java.hatenablog.com InvalidJavadocPosition checkstyle-java.hatenablog.com JavadocBlockTag…

Checkstyle チェック項目ーImports

Checkstyleチェック項目:Imports CheckStyle公式ドキュメント 検証環境 Checkstyleバージョン:10.3.3 Javaバージョン:17 AvoidStarImport checkstyle-java.hatenablog.com AvoidStaticImport checkstyle-java.hatenablog.com CustomImportOrder checkstyl…

Checkstyle チェック項目ーHeaders

Checkstyleチェック項目:Headers CheckStyle公式ドキュメント ver 10.3.1 RegexpHeader ソースファイルのヘッダを、ソースヘッダの各行に対応するパターンを含むヘッダと照合してチェックする。 プロパティ プロパティ 型 デフォルト値 説明 headerFile URI…

Checkstyle チェック項目ーCoding

Checkstyleチェック項目:Coding CheckStyle公式ドキュメント ver 10.3.1 ArrayTrailingComma 配列の初期化時に、末尾にコンマが含まれているかどうかをチェックする。 デフォルトでは、配列の最後の要素と同じ行に左中括弧も右中括弧もない場合、最後にコン…

Checkstyle チェック項目ーClass Design

Checkstyleチェック項目:Class Design CheckStyle公式ドキュメント 検証環境 Checkstyleバージョン:10.3.3 Javaバージョン:17 DesignForExtension checkstyle-java.hatenablog.com FinalClass checkstyle-java.hatenablog.com HideUtilityClassConstructo…

Checkstyle チェック項目ーBlock Checks

Checkstyleチェック項目:Block Checks CheckStyle公式ドキュメント 検証環境 Checkstyleバージョン:10.3.3 Javaバージョン:17 AvoidNestedBlocks checkstyle-java.hatenablog.com EmptyBlock checkstyle-java.hatenablog.com EmptyCatchBlock checkstyle-…

Checkstyle チェック項目ーAnnotation

Checkstyleチェック項目:Annotation CheckStyle公式ドキュメント 検証環境 Checkstyleバージョン:10.3.3 Javaバージョン:17 AnnotationLocation checkstyle-java.hatenablog.com AnnotationOnSameLine checkstyle-java.hatenablog.com AnnotationUseStyle…

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…