Swaggerドキュメント、カスタムエラー処理、ユニットテスト、JSONPATCH、およびHTTPCLIENTテスターを備えたシンプルなWeb APIデモ。いくつかのトピック用のチュートリアルスタイルのYouTubeビデオを機能させます。
このGitHubプロジェクトの目的は、追加のチュートリアル(YouTubeビデオを含む)とSwagger、ユニットテスト、JSONPATCH、カスタムエラー処理とディスプレイ、クライアントテスターなどを含む、追加のチュートリアル(YouTubeビデオを含む)を備えたシンプルなCRUD Web APIアプリケーションをデモすることです。
Visual Studioソリューションには、Contosopizza(Web API)、Contosopizza.tests(ユニットテスト)、WebApiclient(単純なhttpclientコンソールアプリ)の3つのプロジェクトがあります。

Contosopizza Web APIプロジェクトのメンバーの概要を備えたコントローラー、モデル、およびサービスクラスを以下に示します。

これは、標準のCRUD(作成、読み取り、更新、削除)パターンに従うシンプルなWeb APIです。 API操作のデモ画像は、以下にカテゴリごとに示されています。






Web API JSONPATCHデモを示す画面キャプチャを次に示します。


これがコードリファレンスです。
[
{
"value": "ModifiedPizza",
"path": "/name",
"op": "replace"
}
]

これは、Web APIプロジェクトのJSONPatchのセットアップ、インストール、および使用の詳細について詳しく知りたい場合は、優れたチュートリアルリファレンスビデオです。
jsonpatchでデータを更新| Web APIへの初心者のシリーズ
ASP.NETコアWeb APIのJSONPATCH
このチュートリアルとデモプロジェクトでは、Contoso Pizza Web APIプロジェクトのシンプルなカスタムエラーハンドラーをセットアップ、構成、コーディングする方法を示します。
開発者は、コードの未処理のエラーを計画する必要があります。 Contoso Pizza Web APIプロジェクトは、これを行う方法を示しています。デモでは、常に扱いにくい例外をスローするエンドポイントが作成されます。このプロジェクトには、標準の問題モデルオブジェクトをユーザーに返す前に例外を処理およびログするカスタムエラーコントローラーがあります。エラーコントローラーは、開発環境で実行されていないときにカスタムエラーコントローラーにルーティングするために、プログラム構成で指定されています。開発環境は、デバッグ起動プロファイル設定の下で指定されており、特に指定されていない限り、デフォルト値は生産です。
開発と生産の間のエラー表示の違いを確認するには、最初に開発モードでAPIを実行します。常に扱われていない例外をトリガーするエンドポイントをテストします。 Swagger UIでは、応答と例外の詳細を確認できます。ブラウザウィンドウには、エラー結果の個別のエレガントな開発者ビューがあります。
生産モードでAPIを実行するには、環境変数を削除するか、生産に値を手動で設定します。 Swagger UIは生産モードで実行されないため、URLでAPIエンドポイントを手動でテストする必要があります。ユーザーの最終結果は、識別子を使用した一般的なエラーです。ユーザーは、この情報を使用してトラブルチケットを作成します。その後、エラー識別子をより詳細な内部ロギングに一致させる詳細なトラブルシューティングを完了することができます。

このチュートリアルおよびデモプロジェクトでは、開発者WebAPIプロジェクトにSwaggerドキュメントを追加、設定、構成、および検証する方法を示します。最終結果はこのコードレポです。
SwashbuckleとSwaggerは、Web APIの開発者ドキュメントを生成するために使用される2つの一般的なツールです。 Swashbuckleは、Swagger UIを統合するためにASP.NETコアWeb APIプロジェクトに追加できるパッケージです。 3つの主要なコンポーネントがあります。Swashbuckle.aspnetcore.swagger。これは、swaggerdocumentオブジェクトをJSONエンドポイントとして公開するためのSwaggerオブジェクトモデルとミドルウェアです。 swashbuckle.aspnetcore.swaggergen。これは、ルート、コントローラー、モデルから直接オブジェクトを直接構築するswaggerジェネレーターです。およびSwashbuckle.aspnetcore.swaggeruiは、Swagger UIツールの組み込みバージョンです。 Swagger JSONを解釈して、Web API機能を説明するためのリッチでカスタマイズ可能なエクスペリエンスを構築します。 Swagger(Openapi)は、REST APIを記述するための言語と存在する仕様です。これにより、コンピューターと人間の両方が、ソースコードに直接アクセスすることなく、REST APIの機能を理解することができます。その主な目標は、分離サービスを接続するために必要な作業量を最小限に抑えることです。 ¹³⁴

このチュートリアルおよびデモプロジェクトでは、Contoso Pizza Web APIプロジェクトのシンプルなHTTPCLIENTをセットアップ、構成、コーディングする方法を示します。
このYouTubeビデオでは、Web APIに接続してテストする簡単なコンソールアプリケーションプロジェクトを作成する方法を学びます。このビデオには、APIから結果を実行し、出力するプロジェクトの短いデモが含まれています。最初にWebAPIをローカルで実行してSwagger UIを表示することにより、OpenAPIファイルを取得します。 Web APIのJSONファイルはダウンロードしてプロジェクトディレクトリに保存できます。プレイリストシリーズには、Swaggerドキュメントを設定して構成する方法を示す別のビデオがあります。次のステップは、ソリューションに新しいコンソールアプリケーションプロジェクトを追加することです。これは、Web APIに接続するためのHTTPCLIENTアプリケーションになります。次に、以前に保存したSwagger UI JSONファイルからOpenAPIサービスリファレンスを追加します。 Visual Studioは、Contoso Pizza Web APIと対話するために必要なクライアントコードクラスを自動生成します。自動生成コードクラスをご覧ください。コンストラクターには、HTTPCLIENTオブジェクトインスタンスと実行中のWeb APIのベースURLの両方が必要です。 Web APIをローカルで実行すると、デバッグ起動プロファイルからそれを見つけることができます。最後に、プロジェクトをコーディングして、Contoso UI Pizza Web APIへのHTTPClientおよびプロキシサービスリファレンスを作成し、ピザを取得しようとすることができます。 httpclientコンソールアプリケーションを実行する前に、Web APIアプリケーションが既にローカルで実行されていることを確認してください。

このチュートリアルとデモプロジェクトでは、WebAPIプロジェクトの簡単な単体テストをセットアップ、構成、およびコーディングする方法を示します。
このビデオでは、CRUDコントローラー操作を備えたWeb APIの簡単な単体テストを作成する方法について説明します。 XunitおよびFakeTeasyパッケージを使用して、テストを書きます。テストプロジェクトのセットアップ方法、各CRUD操作のテストの作成方法、XunitとFayTeasyを使用してモックとスタブを作成する方法など、単体テストの基本について説明します。また、テストを独立して保持し、読みやすく保守できるようにするなど、ユニットテストを作成するためのベストプラクティスについても説明します。

チュートリアル、ビデオ、ドキュメントは参照されましたが、このプロジェクトは私の技術的な専門知識をデモし、GitHubに関する集合的な技術知識に貢献するための独自のコードとスタイルです。いくつかのコードの例と知識を描いたソースのいくつかをリストしました。
初心者のシリーズ:Web API
Microsoft Learn -ASP.NETコアコントローラーを使用してWeb APIを作成する
出典:Bingとの会話、11/10/2023(1)SwashbuckleとAsp.Net Coreから始めます。 https://learn.microsoft.com/en-us/asp ....(2)swagger/openapiを使用したasp.netコアWeb APIドキュメント。 https://learn.microsoft.com/en-us/asp ....(3)swagger、swashbuckle、swashbuckle uiとは何ですか。 https://stackoverflow.com/questions/4 ....(4)swaggerドキュメントでAPIの開発者エクスペリエンスを改善します。
ASP.NETコアWeb APIのJSONPATCH