Quickstarters
CRUD Samples
BlazorでCRUDアプリケーションを構築する方法は?
37 分
概要 このガイドでは、blazorを使用して完全なcrud(作成、読み取り、更新、削除)アプリケーションを構築する方法を説明します。 このチュートリアルでは、back4appプロジェクトを設定し、データベーススキーマを設計し、rest apiを介してblazorフロントエンドをback4appと統合します。 このプロセスは、堅牢なバックエンドを確立し、ウェブアプリケーションがデータを効率的に管理できるようにします。 最初に、「 basic crud app blazor 」というタイトルのback4appプロジェクトを設定します。これは、データ管理システムの基盤となります。 次に、詳細なコレクションとフィールドを手動で設定するか、back4app aiエージェントの支援を受けて、スケーラブルなデータベース設計を作成します。 その後、back4app admin appの力を活用し、使いやすいドラッグアンドドロップインターフェースを使用してコレクションを簡単に管理します。 最後に、rest apiを使用してblazorフロントエンドをback4appに接続し、適切なアクセス制御でバックエンドを保護します。 このチュートリアルの終わりまでに、基本的なcrud操作とユーザー認証、セキュアなデータ更新をサポートする本番環境向けのwebアプリケーションを持つことができます。 主な学習ポイント 信頼性の高いバックエンドを使用して、データ操作をシームレスに処理するcrudアプリケーションを構築します。 スケーラブルなバックエンドを作成し、それをblazorフロントエンドと統合する方法についての洞察を得ます。 back4app admin appのドラッグアンドドロップ機能を利用して、データ管理を簡素化します。 dockerコンテナ化を含むデプロイメント技術を学び、アプリケーションを迅速に立ち上げます。 前提条件 始める前に、次のものを用意してください back4appアカウントと新しいプロジェクトの設定。 支援が必要な場合は、 back4appの始め方 https //www back4app com/docs/get started/new parse app をご覧ください。 blazor開発環境。 最新の net sdk(バージョン6以上)を使用してvisual studioまたはvisual studio codeを使用してください。 c#、blazor、およびrestful apiの基本的な知識。 必要に応じて、 blazorドキュメント https //docs microsoft com/en us/aspnet/core/blazor をご覧ください。 ステップ 1 – 初期プロジェクト設定 新しい back4app プロジェクトの設立 back4app アカウントにサインインします。 ダッシュボードから「新しいアプリ」ボタンを選択します。 プロジェクトタイトルを入力します: basic crud app blazor そして、画面の指示に従って作成プロセスを完了します。 新しいプロジェクトを作成 設定後、新しいプロジェクトがダッシュボードに表示され、バックエンドの設定のための堅固な基盤を提供します。 ステップ 2 – データベーススキーマの設計 データモデルの作成 この基本的なcrudアプリケーションでは、いくつかのコレクションを作成する必要があります。以下は、データベースを効率的に設定するために必要なフィールドとデータ型を含むコレクションの例です。 1\ アイテムの収集 フィールド データ型 目的 id オブジェクトid 自動生成された一意の識別子。 タイトル 文字列 アイテムの名前またはタイトル。 説明 文字列 アイテムの短い要約。 作成日時 日付 アイテムが作成された時刻。 更新日時 日付 アイテムが最後に変更された日時。 2\ ユーザーコレクション フィールド データ型 目的 id オブジェクトid 自動生成された一意の識別子。 ユーザー名 文字列 ユーザーのユニーク識別子。 メール 文字列 ユーザーのメールアドレス。 パスワードハッシュ 文字列 安全なログインのための暗号化されたパスワード。 作成日時 日付 アカウント作成のタイムスタンプ。 更新日時 日付 最後のアカウント更新のタイムスタンプ。 これらのコレクションは、back4appダッシュボードで新しいクラスを各コレクションのために作成し、必要なカラムを追加することで手動で作成できます。 新しいクラスを作成 データ型を選択し、フィールドに名前を付け、デフォルト値を設定し、フィールドが必須かどうかを決定することで、列を定義できます。 列を作成 スキーマ作成のためのback4app aiエージェントの利用 back4app aiエージェントは、ダッシュボードから直接スキーマ作成を簡素化します。コレクションとフィールドの詳細を含むプロンプトを入力することで、aiエージェントは必要なデータベーススキーマを自動的に生成します。 aiエージェントの利用方法 aiエージェントにアクセスする back4appダッシュボードにログインし、設定またはメインメニューでaiエージェントを見つけます。 データモデルを定義する コレクションとそのフィールドをリストした説明的なプロンプトを貼り付けます。 レビューと確認 提案されたスキーマを確認し、プロジェクトに適用します。 サンプルプロンプト create the following collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ created at date (auto generated) \ updated at date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ password hash string \ created at date (auto generated) \ updated at date (auto updated) このaiエージェントを使用することで、時間を節約できるだけでなく、一貫した効率的なスキーマ設定が保証されます。 ステップ3 – 管理アプリの有効化とcrud操作の管理 管理アプリの紹介 back4app管理アプリは、バックエンドデータを管理するためのノーコード、ドラッグアンドドロップインターフェースを提供します。この直感的なツールを使用すると、crud操作を簡単に実行できます。 管理アプリの有効化 back4appダッシュボードの 「その他」 メニューに移動します。 「管理アプリ」をクリックし、次に 「管理アプリを有効にする。」 初期の管理ユーザーを作成して管理資格情報を設定します。これにより、デフォルトの役割とシステムコレクションも確立されます。 管理アプリを有効にする 有効化後、管理アプリにログインしてコレクションとデータを管理します。 管理アプリダッシュボード 管理アプリでのcrud操作の実行 管理アプリ内で次のことができます レコードの作成 コレクション内の「レコードを追加」ボタンをクリックして、新しいエントリを追加します(例:アイテム)。 レコードの読み取り/更新 レコードをクリックして、その詳細を確認したり、フィールドを変更したりします。 レコードの削除 もはや必要のないエントリを削除します。 このシンプルなドラッグアンドドロップインターフェースは、データ管理体験を大幅に向上させます。 ステップ4 – blazorとback4appの接続 バックエンドが構成されたので、blazorフロントエンドをback4appと統合する時が来ました。 blazorでのrest apiの使用 parse sdkはblazorには適用できないため、crud操作を実行するためにrest apiを活用します。blazorアプリケーション内で、httpclientを使用してback4appのrestエンドポイントと対話します。 例:restを介してアイテムを取得する アイテムを取得するために、blazorプロジェクトにサービスを作成します。例えば: // services/itemservice cs using system net http; using system net http headers; using system text json; using system threading tasks; using system collections generic; public class item { public string id { get; set; } public string title { get; set; } public string description { get; set; } } public class itemservice { private readonly httpclient httpclient; private const string baseurl = "https //parseapi back4app com/classes/items"; public itemservice(httpclient httpclient) { httpclient = httpclient; httpclient defaultrequestheaders add("x parse application id", "your application id"); httpclient defaultrequestheaders add("x parse rest api key", "your rest api key"); } public async task\<list\<item>> getitemsasync() { var response = await httpclient getasync(baseurl); response ensuresuccessstatuscode(); var json = await response content readasstringasync(); var itemsdata = jsonserializer deserialize\<itemsresponse>(json); return itemsdata results; } } public class itemsresponse { public list\<item> results { get; set; } } crud操作を管理するために、blazorコンポーネント内でそのようなapi呼び出しを統合します。 ステップ5 – バックエンドのセキュリティ アクセス制御リスト(acl)の実装 オブジェクトにaclを設定することでデータを保護します。たとえば、プライベートアイテムを作成するには: public async task createprivateitemasync(item newitem, string ownerid) { // prepare your item data with proper access controls // in your rest call, include acl information as required by your backend // this is a conceptual example; refer to back4app documentation for acl details } クラスレベルの権限(clp)の設定 back4appダッシュボード内で、各コレクションのclpを調整して、認可されたユーザーのみが機密データにアクセスまたは変更できるようにします。 ステップ6 – ユーザー認証の管理 blazorでのユーザーアカウントの設定 back4appはparseのuserクラスを利用して認証を処理します。あなたのblazorアプリでは、rest呼び出しを介してユーザーのサインアップとサインインを管理します。例えば // services/authservice cs using system net http; using system net http json; using system threading tasks; public class authservice { private readonly httpclient httpclient; private const string signupurl = "https //parseapi back4app com/users"; public authservice(httpclient httpclient) { httpclient = httpclient; httpclient defaultrequestheaders add("x parse application id", "your application id"); httpclient defaultrequestheaders add("x parse rest api key", "your rest api key"); } public async task signupasync(string username, string password, string email) { var user = new { username, password, email }; var response = await httpclient postasjsonasync(signupurl, user); response ensuresuccessstatuscode(); // handle success, such as storing tokens or redirecting the user } } ログインやセッション管理のために同様のメソッドを実装できます。ソーシャルログイン、メール確認、パスワード回復などの追加機能は、back4appダッシュボードを介して設定できます。 ステップ7 – blazorフロントエンドのデプロイ back4appのwebデプロイ機能を使用すると、githubリポジトリからコードをデプロイすることで、blazorアプリケーションをシームレスにホストできます。 7 1 プロダクションビルドの作成 ターミナルでプロジェクトディレクトリを開きます。 発行コマンドを実行します: dotnet publish c release このコマンドは、blazorアプリ用の最適化された静的ファイルを含む発行フォルダを生成します。 ビルドを確認します: 出力フォルダに必要なファイル(例: index html , javascript, cssなど)が含まれていることを確認します。 7 2 コードの整理とアップロード あなたのgitリポジトリは、blazorアプリケーションの完全なソースをカプセル化する必要があります。例としてのフォルダ構造は次のようになります: basic crud app blazor frontend/ \| wwwroot/ \| | index html \| pages/ \| | index razor \| | items razor \| | login razor \| services/ \| | itemservice cs \| | authservice cs \| program cs \| basic crud app blazor csproj \| readme md サンプルファイル:program cs using microsoft aspnetcore components web; using microsoft aspnetcore components webassembly hosting; using basic crud app blazor; using basic crud app blazor services; var builder = webassemblyhostbuilder createdefault(args); builder rootcomponents add\<app>("#app"); builder rootcomponents add\<headoutlet>("head after"); builder services addscoped(sp => new httpclient { baseaddress = new uri(builder hostenvironment baseaddress) }); builder services addscoped\<itemservice>(); builder services addscoped\<authservice>(); await builder build() runasync(); githubにコミットしてプッシュする プロジェクトフォルダでgitを初期化します(まだ行っていない場合): git init ファイルを追加します: git add 変更をコミットします: git commit m "blazorフロントエンドソースコードの初回コミット" githubリポジトリを作成します: 名前は basic crud app blazor frontend です。 リポジトリをプッシュします: git remote add origin https //github com/your username/basic crud app blazor frontend git git push u origin main 7 3 リポジトリをwebデプロイメントと統合する webデプロイメントオプションにアクセスする: back4appダッシュボードで、プロジェクト( basic crud app blazor )を開き、「 webデプロイメント 」セクションに移動します。 githubアカウントを接続する: プロンプトに従ってgithubアカウントをリンクし、back4appがリポジトリにアクセスできるようにします。 リポジトリとブランチを選択する: リポジトリ(例: basic crud app blazor frontend )とブランチ(例: main )を選択します。 7 4 デプロイメント構成 次のような追加の詳細を提供してください ビルドコマンド 公開フォルダーが事前に生成されていない場合は、次のようなコマンドを指定します dotnet publish c release 出力ディレクトリ 出力パスを設定します(例 bin/release/net6 0/wwwroot )。 環境変数 必要な環境設定(apiキーなど)を構成に追加します。 7 5 dockerを使用したblazorアプリケーションのコンテナ化 デプロイにdockerを好む場合は、リポジトリに dockerfile を含めてください。以下はその例です \# use the official net sdk image for building the app from mcr microsoft com/dotnet/sdk 6 0 as build workdir /src copy \["basic crud app blazor csproj", " /"] run dotnet restore "basic crud app blazor csproj" copy run dotnet publish "basic crud app blazor csproj" c release o /app/publish \# use the official asp net core runtime image to run the app from mcr microsoft com/dotnet/aspnet 6 0 as runtime workdir /app copy from=build /app/publish expose 80 entrypoint \["dotnet", "basic crud app blazor dll"] 次に、webデプロイメント設定で、dockerオプションを選択してコンテナ化されたアプリケーションをデプロイします。 7 6 アプリケーションの起動 デプロイを開始する back4appダッシュボードの deploy ボタンをクリックします。 ビルドを監視する back4appはgithubからコードを取得し、必要に応じてビルドコマンドを実行し、アプリをコンテナにデプロイします。 urlを取得する デプロイプロセスが完了すると、back4appはホストされたblazorアプリケーションのurlを提供します。 7 7 デプロイの確認 提供されたurlを開く ブラウザでurlを訪れて、デプロイされたアプリを表示します。 アプリケーションをテストする すべてのページが正しく読み込まれ、crud操作が期待通りに機能することを確認します。 必要に応じてトラブルシューティングする ブラウザの開発者ツールを使用し、back4appのデプロイメントログを確認して問題を診断します。 ステップ8 – 概要とさらなる探求 おめでとうございます! blazorとback4appを使用して基本的なcrudアプリケーションを成功裏に構築しました。 「 basic crud app blazor 」というタイトルのプロジェクトを設定し、アイテムとユーザーのためのコレクションを設計し、シームレスなデータ管理のためにback4app管理アプリを利用しました。 さらに、rest apiを使用してblazorフロントエンドをback4appと統合し、堅牢なセキュリティ対策を適用しました。 今後のステップ: フロントエンドを拡張する: 詳細なビュー、検索機能、またはライブ通知を追加してblazorアプリを強化します。 高度な機能を追加する: クラウドファンクション、サードパーティの統合、または役割ベースの権限を組み込むことを検討してください。 追加リソースを参照する: back4appのドキュメント https //www back4app com/docs や他の高度なチュートリアルを見直して、アプリケーションをさらに最適化し、拡張してください。 このガイドに従うことで、back4appを使用してblazorアプリケーションのためのスケーラブルで安全なcrudバックエンドを構築するための基盤が整いました。コーディングを楽しんでください!