Aracılığıyla paylaş


Web API çözümleyicilerini kullanma

ASP.NET Core, web API projeleriyle kullanılmak üzere tasarlanmış bir MVC çözümleyici paketi sağlar. Analizciler web API kuralları üzerine kurarken açıklamalı denetleyicilerle çalışır.

Çözümleyiciler paketi, aşağıdaki tüm denetleyici eylemlerini size bildirir:

  • Bildirilmemiş bir durum kodu döndürür.
  • Bildirilmemiş bir başarı sonucu geri döndürür.
  • Belgeler, döndürülmeyen bir durum kodunu.
  • Açık bir model doğrulama denetimi içerir.

Analizör paketine referans verme

Çözümleyiciler .NET SDK'sında yer alır. Projenizde çözümleyiciyi etkinleştirmek için proje dosyasına özelliğini ekleyin IncludeOpenAPIAnalyzers :

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

Web API'leri kuralları için çözümleyiciler

OpenAPI belgeleri, bir eylemin döndürebileceği durum kodları ve yanıt türleri içerir. ASP.NET Core MVC'de ProducesResponseTypeAttribute ve ProducesAttribute gibi öznitelikler bir eylemi belgelemek için kullanılır. ASP.NET Core web API belgeleri Swagger / OpenAPI ile, web API'nizi belgeleme konusunda daha fazla ayrıntıya iner.

Paketteki çözümleyicilerden biri, ApiControllerAttribute ile etiketlenmiş denetleyicileri inceler ve yanıtlarını tamamen belgelemeyen eylemleri tanımlar. Aşağıdaki örneği göz önünde bulundurun:

// 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);
}

Yukarıdaki eylem HTTP 200 başarı dönüş türünü belgeler, ancak HTTP 404 hata durum kodunu belgelemez. Çözümleyici, HTTP 404 durum kodu için eksik belgeleri uyarı olarak bildirir. Sorunu düzeltme seçeneği sağlanır.

çözümleyici uyarı bildiriyor

Analizörler için Microsoft.NET.Sdk.Web gerekir

Çözümleyiciler, Sdk="Microsoft.NET.Sdk" referans alan kitaplık projeleri veya diğer projelerle çalışmaz.

Ek kaynaklar