爲了讓Swashbuckle從您的XML註釋中讀取數據,您需要爲您的目標項目啓用XML文檔文件。除此之外,您需要在啓動配置中將Swashbuckle指向該文件。
從Swashbuckle Documentation:
打開屬性對話框爲您的項目,點擊「生成」選項卡,並 確保「XML文檔文件」被選中。這將生成一個 文件,其中包含構建時的所有XML註釋。
此時,任何未使用XML註釋註解的類或方法都會觸發構建警告。要剿此,進入 報警代碼「1591」到在 屬性對話框中的「剿警告」字段*
配置Swashbuckle,納入有關文件的XML註釋到 產生揚鞭JSON:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1",
new Info
{
Title = "My API - V1",
Version = "v1"
}
);
var filePath = Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, "MyApi.xml");
c.IncludeXmlComments(filePath);
}
註解你與總結,評論和響應標籤的行動
/// <summary>
/// Retrieves a specific product by unique id
/// </summary>
/// <remarks>Awesomeness!</remarks>
/// <response code="200">Product created</response>
/// <response code="400">Product has missing/invalid values</response>
/// <response code="500">Oops! Can't create your product right now</response>
[HttpGet("{id}")]
[ProducesResponseType(typeof(Product), 200)]
[ProducesResponseType(typeof(IDictionary<string, string>), 400)]
[ProducesResponseType(typeof(void), 500)]
public Product GetById(int id)
重建項目以更新XML註釋文件並導航到Swagger JSON端點的 。請注意描述如何映射到 對應的Swagger字段。
當你說「使用swagger API」時,你是什麼意思?您使用哪種庫來從C#中生成swagger文檔? – mclark1129
我正在使用C#Web API使用'Swashbuckle.AspNetCore'。 – Sameer