Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
ASP.NET Core egy MVC-elemzőcsomagot biztosít, amely webes API-projektekhez használható. Az elemzők olyan vezérlőkkel dolgoznak, amelyek
Az elemzőcsomag értesíti Önt minden olyan vezérlőműveletről, amely:
- Be nem jelentett állapotkódot ad vissza.
- Be nem jelentett sikeres eredményt ad vissza.
- Nem visszaadott állapotkódot dokumentál.
- Explicit modellérvényesítési ellenőrzést tartalmaz.
Referencia az elemzőcsomagra
Az elemzők a .NET SDK részét képezik. Ha engedélyezni szeretné az elemzőt a projektben, vegye fel a tulajdonságot IncludeOpenAPIAnalyzers a projektfájlba:
<PropertyGroup>
<IncludeOpenAPIAnalyzers>true</IncludeOpenAPIAnalyzers>
</PropertyGroup>
Webes API-konvenciók elemzői
Az OpenAPI-dokumentumok olyan állapotkódokat és választípusokat tartalmaznak, amelyeket egy művelet visszaadhat. ASP.NET Core MVC-ben az olyan attribútumokat, mint ProducesResponseTypeAttribute és ProducesAttribute, a műveletek dokumentálására használják. ASP.NET Core webes API dokumentációja a Swagger/OpenAPI használatával további részletekbe ás a webes API dokumentálásával kapcsolatban.
A csomag egyik elemzője olyan vezérlőket vizsgál, amelyek megjegyzésekkel ApiControllerAttribute ellátottak, és azonosítják azokat a műveleteket, amelyek nem dokumentálják teljesen a válaszaikat. Vegye figyelembe a következő példát:
// 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);
}
Az előző művelet a HTTP 200 sikeres visszatérési típusát dokumentálja, de nem dokumentálja a HTTP 404 hibaállapot-kódját. Az elemző figyelmeztetésként jelenti a HTTP 404 állapotkód hiányzó dokumentációját. Lehetőség van a probléma megoldására.
Az elemzőknek Microsoft.NET.Sdk.Webre van szükségük
Az elemzők nem működnek könyvtárprojektekkel vagy olyan projektekkel, amelyek hivatkoznak Sdk="Microsoft.NET.Sdk".