Swagger是一個把api和注釋生成一個可視(或可訪問)的輸出工具,關(guān)且還可以進行手工測試我們的api,解決了程序不想寫文檔的問題(哈哈)。

Swashbuckle.AspNetCore是用來解決asp.net core下的api文檔,不但能稱顯UI,還可以在UI上進行測試。
如果在asp.net core中使用swagger,首先在nuget下安裝Swashbuckle.AspNetCore,不過現(xiàn)在是預(yù)覽版,一定要把“包括預(yù)發(fā)行版”打上勾。

同時還要添加三個引用:
Swashbuckle.AspNetCore.SwaggerGen是生成Swagger文檔的組件
Swashbuckle.AspNetCore.Swagger:是把Swagger文檔生成Json Api的組件
Swashbuckle.AspNetCore.SwaggerUI,是把Json Api轉(zhuǎn)成頁面的組件
接下來設(shè)置項目屬性,生成-Output節(jié)點的XML documentation file打上勾,用來保證能把action上的注釋生成xml文檔。
同時,Controller中的action都要加http特性,這樣方例生成swagger文檔時能找到準(zhǔn)確的api,這點很重要
接下來,就要在Starup中去調(diào)置Swagger的使用了
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info
{
Title = "Swagger測試",
Version = "v1",
Description = "Swagger測試RESTful API ",
TermsOfService = "None",
Contact = new Contact
{
Name = "桂素偉",
Email = "axzxs2001@163.com"
},
});
//設(shè)置xml注釋文檔,注意名稱一定要與項目名稱相同
var filePath = Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, "SwaggerDemo.xml");
c.IncludeXmlComments(filePath);
//處理復(fù)雜名稱
c.CustomSchemaIds((type) => type.FullName);
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
app.UseMvc();
app.UseSwagger(c =>
{
//設(shè)置json路徑
c.RouteTemplate = "docs/{documentName}/swagger.json";
});
app.UseSwaggerUI(c =>
{
//訪問swagger UI的路由,如http://localhost:端口/docs
c.RoutePrefix = "docs";
c.SwaggerEndpoint("/docs/v1/swagger.json", "Swagger測試V1");
//更改UI樣式
c.InjectStylesheet("/swagger-ui/custom.css");
//引入UI變更js
c.InjectOnCompleteJavaScript("/swagger-ui/custom.js");
});
}關(guān)于更多的UseSwagger參數(shù)和UseSwaggerUI參數(shù)可參考
https://github.com/domaindrivendev/Swashbuckle.AspNetCore
設(shè)置中的custom.css和custom.js如下
custom.css
.logo__title {
font-weight:bold;
font-size:0.8em;
}custom.js
var titles=document.getElementsByClassName("logo__title");
titles[0].innerHTML = "Swagger測試";關(guān)于美化UI可以運行,查看具體的html Elements,然后去寫css或js

代碼參考:https://github.com/axzxs2001/Asp.NetCoreExperiment
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
標(biāo)題名稱:Swagger在asp.netcore中的應(yīng)用2-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://www.chinadenli.net/article2/dccjic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、App設(shè)計、域名注冊、軟件開發(fā)、面包屑導(dǎo)航、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容