Start Debugging

タグ: minimal-apis

16 件 · ページ1/2

ASP.NET Core で MapIdentityApi がマップする個別のエンドポイントを削除または非表示にする方法
MapIdentityApi<TUser>() は 10 個のエンドポイントをマップしますが、1 つだけ除外するスイッチはありません。.NET 11 で実測した 4 つの対処法 (OpenAPI から隠す、404 を返す、シャドウする、ルーティングから完全に削除する) と、登録を 500 エラーにする /confirmEmail の落とし穴を紹介します。
ASP.NET Core 11 で単一の minimal API フォームエンドポイントだけ antiforgery 検証を無効化する方法
対象のエンドポイント、または MapGroup に .DisableAntiforgery() を付けます。ASP.NET Core 11 ではこれ 1 つでトークンミドルウェアと新しい自動 CSRF チェックの両方から除外されます。実測したマトリクス、優先順位の落とし穴、より範囲の狭い代替手段を解説します。
ASP.NET Core 11 の Minimal API で [AsParameters] を使って複雑なクエリ文字列オブジェクトをバインドする方法
クラスやレコードに [AsParameters] を付けると、ASP.NET Core 11 の Minimal API でクエリ文字列のフィルター全体をバインドできます。既定値、配列、enum、入れ子のオブジェクト、検証、OpenAPI、そして位置指定レコードで発生する Native AOT ジェネレーターのバグを解説します。
JavaScript 相互運用なしで Blazor コンポーネントからファイルをダウンロードする方法
downloadFileFromStream の JS モジュールは不要です。TypedResults.File を返す minimal API エンドポイントを指す download 属性付きのアンカーをレンダリングするか、AntiforgeryToken を含むプレーンな HTML フォームを POST します。download 属性が Blazor の拡張ナビゲーションによるクリック横取りを防ぐ理由、data-enhance がファイルを黙って捨てる理由、cookie と bearer の落とし穴も解説します。
ASP.NET Core 11 における型付き結果 (Results<>) vs IResult vs IActionResult
ASP.NET Core 11 では、minimal API には TypedResults を使って Results<T1, TN> を返し、コントローラーには ActionResult<T> を返します。素の IResult と素の IActionResult は非常手段として扱いましょう。どんなレスポンスでもコンパイルは通りますが、OpenAPI には何も伝えないため、手書きの ProducesResponseType 属性という代償を払うことになります。
ASP.NET Core 11 の minimal API エンドポイントから型付き Results<T1, T2> ユニオンを返す方法
ハンドラーの戻り値の型を Results<Ok<T>, NotFound> と宣言し、TypedResults.Ok / TypedResults.NotFound を返します。ユニオンはハンドラーが宣言したものだけを返すことをコンパイル時にチェックし、OpenAPI に対して自己記述するため、.Produces を手書きする必要がありません。非同期ハンドラー、6 型の上限、ASP.NET Core 11 でのテストを扱います。
ASP.NET Core 11 で minimal API を手動の検証チェックから組み込み検証へ移行する
ASP.NET Core 11 の minimal API ハンドラーにある手書きの if チェックを、DataAnnotations とソースジェネレーターに基づく組み込みバリデーターへ置き換えるためのステップバイステップの移行ガイドです。何が壊れるか、どの手動ルールが移植できてどれができないか、そして 400 ProblemDetails の契約が同一のままであることをどう検証するかを扱います。
次へ