Quickstarters
Feature Overview
How to Build a Backend for Spring Boot?
30 分
はじめに このチュートリアルでは、back4appを使用してspring bootのバックエンドを構築する方法を学びます。 spring frameworkを活用したjavaベースのwebアプリケーションであるspring bootアプリケーションを、データベース管理、cloud code、restおよびgraphql api、ユーザー認証、ファイルストレージ、リアルタイムクエリなどの重要なback4app機能に接続する方法を説明します。 これらの手順に従うことで、spring bootの機能をback4appが提供する強力なparse platformとシームレスに統合できるようになります。 back4appをバックエンドとして活用することで、データベース接続、セキュリティ設定、デプロイプロセスが大幅に簡素化されます。 サーバーのセットアップや手動のデータベース管理の複雑さから解放されるため、spring bootアプリケーションのビジネスロジックの記述に集中できます。 このチュートリアルの終わりまでには、webアプリやspring web上で動作するjavaアプリケーションの基盤となる、堅牢でスケーラブルなバックエンドを持つことができ、簡単に本番環境向けのデプロイに拡張できます。 前提条件 このガイドを完了するには、以下の準備が整っていることを確認してください back4appアカウントと新しいback4appプロジェクト back4appの始め方 https //www back4app com/docs/get started/new parse app アカウントがない場合は無料でサインアップしてください。 java開発環境 次のものをインストールする必要があります java se 8以上 https //www oracle com/java/technologies/downloads/ と maven https //maven apache org/ または gradle https //gradle org/ これはあなたの 開発環境 を設定するために不可欠です。 spring bootの基本 spring bootアプリケーション の作成に慣れていること。必要に応じて、 spring boot公式ドキュメント https //spring io/projects/spring boot を参照して、 spring security 、コントローラー、サービスなどについて学んでください。 parse/back4appの基本知識 parseプラットフォームの仕組みを知っていることは有益です。もし新しい場合は、 back4appのドキュメント https //www back4app com/docs を確認してください。 これらの前提条件が整っていることで、スムーズなチュートリアル体験が保証されます。それでは、back4appを使用してバックエンドの構築を始めましょう! ステップ1 – back4appで新しいプロジェクトを作成し、接続する このステップが必要な理由 新しいback4appプロジェクトを作成することは、あなたのバックエンドの基盤です。これにより、データベース、設定、セキュリティルールを保持し、parseプラットフォームを介してあなたの spring bootアプリケーション データを管理することができます。 back4appプロジェクトの作成 back4appアカウントにログイン してください。 「新しいアプリ」をクリック して、back4appダッシュボードで操作します。 プロジェクトの名前を提供 (例:「springboot backend tutorial」)し、セットアップを完了します。 完了すると、back4appダッシュボードに新しいプロジェクトが表示されます。 parse java sdkのインストールと設定(オプション) back4appはparseプラットフォームを使用しており、 java sdk がspring bootアプリと統合できます。好みに応じて、 java developer コードから直接rest/graphql呼び出しを行うこともできます。ただし、sdkを使用することで、データの保存、クエリ、ユーザー認証などの操作が簡素化されます。 maven依存関係 (例): \<dependency> \<groupid>com parse\</groupid> \<artifactid>parse\</artifactid> \<version>1 26 0\</version> \</dependency> あなたの spring boot メインアプリケーションクラスまたは設定クラスで、parseを初期化します: @springbootapplication public class springbootbackendtutorialapplication { public static void main(string\[] args) { // initialize parse before running the application parse initialize(new parse configuration builder("your app id") server("https //parseapi back4app com/") clientkey("your client key") build() ); springapplication run(springbootbackendtutorialapplication class, args); } } 「your app id」と「your client key」をback4appダッシュボードにある資格情報に置き換えることを忘れないでください。これらは アプリ設定 または セキュリティとキー の下に表示されます。 ステップ2 – データベースの設定 1\ データモデルの作成 あなたの データベース接続 はback4appによって管理されています。ダッシュボードでデータモデル(クラス)を作成するか、parse sdkを通じてオブジェクトを保存することで自動的に作成させることができます。より良い管理のために、back4appダッシュボードに移動して 「データベース」をクリック 新しいクラスを作成 (例:「todo」) カラムを追加 (フィールド)として title (文字列)や iscompleted (ブール値) 2\ aiエージェントを使用したデータモデルの作成 back4appは、あなたのためにスキーマを生成できる aiエージェント を提供しています ダッシュボードまたはメニューから aiエージェントを開く 。 データモデルを説明する 簡単な言葉で。 aiエージェントに 関連するクラスとフィールドの作成を任せる。 3\ sdkを使用したデータの読み取りと書き込み parse java sdkをあなたの spring framework プロジェクトに追加した場合、次のようにクラスと対話できます @service public class todoservice { public parseobject createtodoitem(string title, boolean iscompleted) throws parseexception { parseobject todo = new parseobject("todo"); todo put("title", title); todo put("iscompleted", iscompleted); return todo save(); // throws parseexception if something goes wrong } public list\<parseobject> fetchtodos() throws parseexception { parsequery\<parseobject> query = parsequery getquery("todo"); return query find(); } } 4\ rest apiを使用したデータの読み取りと書き込み また、restエンドポイントを介してback4appデータベースと対話することもできます curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5\ graphql apiを使用したデータの読み取りと書き込み back4appにはgraphqlエンドポイントもあります mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } 6\ ライブクエリの使用(オプション) あなたの webアプリ がリアルタイムの更新を必要とする場合、back4appダッシュボードでライブクエリを有効にし、あなたの spring web アプリケーションに接続できます。通常、javaクライアントでイベントにサブスクライブするか、ライブクエリをサポートするフロントエンドツールを使用します。 ステップ3 – aclとclpを使用したセキュリティの適用 簡単な概要 back4appの acls (アクセス制御リスト)と clps (クラスレベルの権限)はあなたのデータを保護します。これは spring security を補完または補強し、あなたの javaアプリケーション をさらに保護します。 ステップバイステップ クラスレベルの権限(clps) “データベース”タブの“クラスレベルの権限”で設定します。 acls コードまたはダッシュボードからオブジェクトレベルの権限を設定します。 詳細については、 アプリセキュリティガイドライン https //www back4app com/docs/security/parse security を参照してください。 ステップ4 – クラウドコード関数の作成 なぜクラウドコードなのか クラウドコードを使用すると、機密性の高い ビジネスロジック をサーバーに移動または保護できます。これは、クライアント側に公開すべきでないロジックが必要な場合や、外部apiを統合したい場合に特に役立ちます。 例の関数 parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) throw new error('no text provided'); return { length text length }; }); デプロイメント コードをデプロイするには、 back4app cli https //www back4app com/docs/local development/parse cli またはback4appダッシュボードを使用します。その後、java sdk、rest、またはgraphqlを介してspring bootから関数を直接呼び出すことができます。 ステップ5 – 認証の設定 ユーザー認証 parseユーザークラスは、ユーザーのサインアップ、ログイン、およびセッショントークンを処理します。これを spring bootアプリケーション に統合するには、java sdkを呼び出すか、rest呼び出しを使用します。 サインアップ (java sdkの例): public parseuser signupuser(string username, string password, string email) throws parseexception { parseuser user = new parseuser(); user setusername(username); user setpassword(password); user setemail(email); return user signup(); // returns the newly created user } ソーシャルログイン googleやfacebookなどのプロバイダーの場合、parseはoauthベースのログインをサポートしています。追加の設定詳細については、 ソーシャルログインのドキュメント https //www back4app com/docs/platform/sign in with apple を確認してください。 ステップ 6 – ファイルストレージの取り扱い ファイルストレージの設定 次のクラスを使用してファイルをアップロードします。 parsefile 。または、好みに応じてrestを使用できます // example using java sdk parsefile file = new parsefile("myimage png", filebytes); file save(); // uploads to back4app parseobject photo = new parseobject("photo"); photo put("imagefile", file); photo save(); 例 curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type text/plain" \\ \ data binary '@myimage png' \\ https //parseapi back4app com/files/myimage png ステップ 7 – メール確認とパスワードリセット 概要 あなたの java developer ワークフローで安全なユーザーアカウントを確保するために、back4appダッシュボードでメール確認とパスワードリセットを有効にしてください。 設定 メール確認を有効にする アプリのメール設定の下で。 ユーザーエクスペリエンスを向上させるために メールテンプレートを設定します。 ステップ 8 – クラウドジョブによるタスクのスケジューリング クラウドジョブの機能 クラウドジョブ は、定期的なデータクリーンアップ、毎日の通知送信、またはシステム全体のメンテナンスなどのタスクを自動化することができます。以下は、ジョブの例です parse cloud job('cleanupoldtodos', async () => { const query = new parse query('todo'); // example remove todos older than 30 days // // implement the job logic here }); バック4アプリのダッシュボードから、 サーバー設定 > バックグラウンドジョブ を選択してスケジュールします。 ステップ9 – ウェブフックの統合 定義と設定 ウェブフック は、あなたの javaアプリケーション がイベント駆動のhttpリクエストを送信または受信できるようにします。たとえば、back4appデータベースにオブジェクトが作成されるたびに外部サービスに通知することができます。 back4appダッシュボードに移動 > その他 > ウェブフック ウェブフックを追加 ターゲットエンドポイントを指定して トリガーを設定 イベント(作成、更新、削除)のために ステップ10 – back4app管理パネルの探索 どこで見つけるか back4app管理アプリは、非技術的なチームメンバーがデータを表示および変更するためのモデル中心のユーザーフレンドリーなインターフェースです。 アプリダッシュボード > その他 > 管理アプリ に移動して有効にします。 サブドメインを選択し、最初の管理ユーザーを作成してください。その後、コードに触れることなくデータを管理するためにログインします。 結論 back4appとのspring boot統合を完了したことをおめでとうございます!データ、認証、ファイル、リアルタイムのサブスクリプション、スケジュールされたジョブを管理するspring bootのバックエンドを構築する方法を見てきました。すべて最小限のオーバーヘッドで行えます。 この堅牢でスケーラブルなアプローチにより、低レベルのサーバーやデータベースの詳細を心配することなく、ビジネスロジックの記述に集中できます。 あなたは: back4appプロジェクトを作成し、springフレームワークに接続しました。 クラスとデータモデルを使用してデータベース接続を管理する方法を学びました。 acl、clp、cloud code関数、およびcloud jobsによるスケジューリングを実装しました。 ファイルストレージ、ユーザー認証、およびwebhookなどの高度な機能を構成しました。 これらの基本をもとに、あなたのspring bootアプリケーションは、完全なspringセキュリティやより複雑なデータ関係を持つ本番環境向けのシステムに成長する準備が整いました。 back4appの他の機能や、現代のwebアプリの開発を加速するspring bootの機能を探求することをお勧めします。 次のステップ 本番環境に向けてスケールアップ パフォーマンスを最適化し、キャッシングを追加し、clpで高度な役割を構成します。 さらなる統合を追加 cloud codeまたはwebhookを介して外部サービス(決済ゲートウェイ、分析など)に接続します。 公式ドキュメントを参照 back4appのドキュメント https //www back4app com/docs や高度なparse技術についての理解を深めます。 チュートリアルを探求 リアルタイムチャット、プッシュ通知、または位置情報サービスに関する専門的なチュートリアルを探します。それらをspring bootのセットアップと組み合わせて、最先端の webアプリケーション を構築します。 spring bootとback4appの相乗効果を活用することで、クリーンなコードベースを維持しながら、javaアプリケーションを迅速に開発、保守、スケールすることができます。