Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
ASP.NET Core tillhandahåller ett MVC-analysverktygspaket som är avsett för användning med webb-API-projekt. Analysverktygen arbetar med kontrollanter som kommenterats med ApiControllerAttribute, samtidigt som de bygger på webb-API-konventioner.
Analysverktygspaketet meddelar dig om alla kontrollantåtgärder som:
- Returnerar en odeklarerad statuskod.
- Returnerar ett resultat av odeklarerat lyckat resultat.
- Dokumenterar en statuskod som inte returneras.
- Innehåller en explicit modellverifieringskontroll.
Referera till analysatorpaketet
Analysverktygen ingår i .NET SDK. Om du vill aktivera analysatorn i projektet tar du med IncludeOpenAPIAnalyzers egenskapen i projektfilen:
<PropertyGroup>
<IncludeOpenAPIAnalyzers>true</IncludeOpenAPIAnalyzers>
</PropertyGroup>
Analysverktyg för webb-API-konventioner
OpenAPI-dokument innehåller statuskoder och svarstyper som en åtgärd kan returnera. I ASP.NET Core MVC används attribut som ProducesResponseTypeAttribute och ProducesAttribute för att dokumentera en åtgärd. ASP.NET Dokumentation om Core-webb-API:et med Swagger/OpenAPI går in närmare på hur du dokumenterar webb-API:et.
En av analysverktygen i paketet inspekterar kontrollanter som kommenterats med ApiControllerAttribute och identifierar åtgärder som inte helt dokumenterar deras svar. Tänk på följande exempel:
// 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);
}
Föregående åtgärd dokumenterar returtypen för HTTP 200 framgång, men dokumenterar inte HTTP 404-felkoden. Analysatorn rapporterar den saknade dokumentationen för HTTP 404-statuskoden som en varning. Ett alternativ för att åtgärda problemet finns.
Analysverktyg kräver Microsoft.NET.Sdk.Web
Analysverktyg fungerar inte med biblioteksprojekt eller projekt som refererar till Sdk="Microsoft.NET.Sdk".
Additional resources
ASP.NET Core