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. Çözümleyiciler, web API'sinde kurallar oluştururken ile ApiControllerAttributeek 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 döndürür.
  • Döndürülmedi durum kodunu belgeler.
  • Açık bir model doğrulama denetimi içerir.

Çözümleyici paketine başvurma

Çözümleyiciler .NET Core SDK'sında bulunur. 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 ve ProducesAttribute gibi ProducesResponseTypeAttribute öznitelikler bir eylemi belgelemesi için kullanılır. Swagger / OpenAPI ile ASP.NET Core web API'si belgeleri, web API'nizi belgeleme konusunda daha ayrıntılı bilgi sağlar.

Paketteki çözümleyicilerden biri, açıklama eklenmiş ApiControllerAttribute denetleyicileri inceler ve yanıtlarını tamamen belgelemeyecek eylemleri tanımlar. Aşağıdaki örneği inceleyin:

// 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.

analyzer reporting a warning

Çözümleyiciler Için Microsoft.NET.Sdk.Web gerekir

Çözümleyiciler, başvuruda Sdk="Microsoft.NET.Sdk"bulunan kitaplık projeleriyle veya projelerle çalışmaz.

Ek kaynaklar