私は ASP.NET Web API を使用しており、API のドキュメントを便利に自動的に生成しますが、意味をなさないものもあります。
以下のスクリーンショットを例に取ります。
これはGET
ID によるユーザーへのエンドポイントであり、このセクションでは、コントローラー アクションに注釈Resource Description
があるため、ユーザー モデルのプロパティを示すテーブルを示しています。[ResponseType(typeof(User))]
まず、実際のコントローラー アクションでは、Password
機密情報を公開しないように、結果をユーザーに表示する前にプロパティを削除しています。そのため、セクションに示されている表Resource Description
は正しくありません。API が返さないフィールドを返しているということです。
次に、列の下に、モデルAdditional Information
に沿った検証ルールが表示されます。便利ですが、このエンドポイントはユーザー用ではなくユーザーUser
用であるため、この場合はまったく関係ありません。GET
POST
それで、私の質問は、このResource Description
テーブルをカスタマイズして、返されるフィールドを自分で指定し、EF 検証を非表示にするにはどうすればよいですか?
現在、コントローラーのアクションに次のようにコメントしています。
/// <summary>
/// Get a single user identified by ID.
/// </summary>
/// <param name="userId">The ID of the user.</param>
/// <returns>A data collection about the user.</returns>
[ResponseType(typeof(User))]
[Route("api/v1/users/{userId}", Name="GetUser")]
[HttpGet]
public IHttpActionResult GetUser(int userId)
{
// ...
}
///
また、プロジェクトをビルドするときにこれらのコメントからビルドされる XML ファイルからドキュメントを読み取るようにヘルプ ページを構成しました。
ありがとう!