対応 Web フレームワーク
Bolt for Java は特定の環境やフレームワークに依存しません。
標準では Servlet コンテナー上での動作がサポートされています。そのため、開発者は Bolt アプリをほとんどの JVM 上で動作する Web フレームワークと組み合わせて動作させることができます。SlackAppServlet は、POST /slack/events
という URI に来るリクエストを受け付けて、適切に対応する Bolt アプリのハンドラーにディスパッチするだけのシンプルな Servlet です。
Micronaut や Helidon のように Servlet ではない環境も、その固有の HTTP 関連の表現(リクエスト・レスポンス)を変換するアダプターさえあれば、Bolt アプリを動作させることができます。
対応フレームワーク
このセクションでは、最小の動作するサンプルとともに以下の人気フレームワークの対応について説明します。
Spring Boot
Spring Boot は Java の世界で最も人気のある Web フレームワークの一つです。SlackAppServlet を Spring Boot アプリ内で有効にするのが最も簡単なやり方です。それでは小さな Gradle プロジェクトの例を見てみましょう。Bolt は Spring Boot 2.2 以上のバージョンで動作しますので、バージョンにご注意ください。 また、Spring Security などの拡張機能を有効にした場合に、Bolt を利用した部分が正常に動作しなくなる場合があります。 そのような場合は、アプリを複数に分割して Bolt アプリ部分についてはできるだけシンプルに保つことを検討してください。
build.gradle
build.gradle
をプロジェクトのルートディレクトリに配置するところから始めます。Spring Boot 3 を使った例は以下の通りです。見ての通り、わかりやすい普通の Spring Boot アプリのビルド設定です。
plugins {
id 'org.springframework.boot' version '3.0.0'
id 'io.spring.dependency-management' version '1.1.0'
id 'java'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'com.slack.api:bolt-jakarta-servlet:1.44.2'
}