共用方式為


使用 Web API 分析器

ASP.NET Core 提供 MVC 分析器套件,用於 Web API 專案。 分析器會使用 以 ApiControllerAttribute標註的控制器,同時建置 Web API 慣例

分析器套件會通知您任何控制器動作:

  • 傳回未宣告的狀態代碼。
  • 傳回未宣告的成功結果。
  • 記錄未傳回的狀態代碼。
  • 包含明確的模型驗證檢查。

參考分析器套件

分析器會包含在 .NET SDK 中。 若要在項目中啟用分析器,請在項目檔中包含 IncludeOpenAPIAnalyzers 屬性。

<PropertyGroup>
 <IncludeOpenAPIAnalyzers>true</IncludeOpenAPIAnalyzers>
</PropertyGroup>

API 網絡慣例分析器

OpenAPI 檔包含動作可能會傳回的狀態代碼和回應類型。 在 ASP.NET Core MVC 中,ProducesResponseTypeAttributeProducesAttribute 等屬性被用來記錄動作。 ASP.NET Core Web API 文件與 Swagger / OpenAPI 會進一步詳細說明您的 API。

套件中的其中一個分析器會檢查以 ApiControllerAttribute 標註的控制器,並識別不會完全記錄其響應的動作。 請考慮下列範例:

// GET api/contacts/{guid}
[HttpGet("{id}", Name = "GetById")]
[ProducesResponseType(typeof(Contact), StatusCodes.Status200OK)]
public IActionResult Get(string id)
{
    var contact = _contacts.Get(id);

    if (contact == null)
    {
        return NotFound();
    }

    return Ok(contact);
}

上述動作會記錄 HTTP 200 成功傳回類型,但不會記載 HTTP 404 失敗狀態代碼。 分析器會以警告的方式報告 HTTP 404 狀態代碼缺失的文件。 提供修正問題的選項。

分析器回報警告

分析器需要Microsoft.NET.Sdk.Web

分析器不適用於庫專案或參考Sdk="Microsoft.NET.Sdk"的專案。

其他資源