ASP.NET Core WebAPI是開發WebAPI接口的有利武器,且由於擁有.NET Core的基因支持跨平臺,是當前.NET中開發接口的有利武器。但一般來說WebAPI接口開發完畢後,在發佈前還需要測試。我們可以藉助於外部的Fiddler等工具進行測試,但不太方便,尤其要進行接口傳值時。那這個時候可以通過Swagger工具直接在Web網頁中操作會極大的方便進行接口測試工作。
操作步驟:
一、asp.net core項目通過nuget包管理器添加swashbuckle.AspNetCore包
注意名稱,不要添加錯誤,如下圖所示。
二、在program.cs中註冊swagger服務
註冊swagger服務,可以通過添加中間件的形式注入,代碼如下:
// Add services to the container.
builder.Services.AddSwaggerGen(t =>
{
t.SwaggerDoc("v1", new OpenApiInfo()
{
Title = "xxx", //xxx內容爲swagger中顯示的標題
Version = "v1",//v1爲顯示的版本號
Description = "xxx", //xxx內容爲swagger中顯示的描述部分
});
});
添加swagger支持
//添加swagger
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "test");
});
三、運行WebAPI項目
修改launchSettings.json文件的launchUrl爲swagger,如下。這樣運行時就可以直接打開swagger界面了。
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:48397",
"sslPort": 0
}
},
"profiles": {
"BroadswordWebAPI": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "http://localhost:5220",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
ctrl+f5直接運行項目
可以通過界面直接測試調用接口,並可以方便的傳值調用,非常方便,推薦!