以.NET Core爲框架,搭建出一個功能完善的WebApi框架。實現後臺管理系統、前臺系統和App系統的統一管理。
該框架欲集成Swagger作爲接口顯示文檔,集成SqlSugar作爲數據庫操作ORM,集成LayUI作爲後臺管理系統前端框架,集成支付寶和微信的SDK實現支付功能;
實現接口權限驗證功能,實現從後臺管理系統無代碼化的自動生成實體類、自動生成基礎的增刪改查接口、自動生成基礎版的後臺管理頁面;
新建一個ASP.NET Core Web應用程序,取名爲RayPI。
生成項目之後,控制器默認生成了一個ValuesController,裏面只有幾個簡單的RESTful風格的接口,分別對應增刪改查的功能,沒有涉及到數據庫數據
入調試運行狀態,默認調用的是values的獲取集合接口
項目裏集成swagger
Swagger是一個API接口文檔幫助插件,使用它,可以將我們編寫的接口自動生成一個規範化的文檔,其他開發人員(主要是負責的對接接口的前端人員)就可以通過瀏覽器訪問對應的地址,查看接口的相關信息。
下面開始引入swagger插件
方法有兩個:
1)可以去swagger官網或github上下載源碼,然後將源碼(一個類庫)引入自己的項目;
2)直接利用NuGet包添加程序集應用。
因爲很少有需要更改swagger源碼的需求,所以這裏我們選擇比較簡單的第二種方法。
依次點擊 工具=>NuGet包管理器=>管理解決方案的NuGet程序包
安裝完成之後,在項目的依賴項裏可以看到多出了一個引用
這時如果運行調試,在域名後面輸入/swagger,會發現wagger還沒有起作用,因爲還沒有在項目的啓動項裏添加swagger服務。
下面添加服務:
打開Startup.cs類,編輯ConfigureServices類
public void ConfigureServices(IServiceCollection services)
{
//services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddMvc();
#region Swagger
services.AddSwaggerGen(c => {
c.SwaggerDoc("v1", new Info
{
Version = "v4.1.0",
Title = "Ray WebAPI",
Description = "框架集合",
TermsOfService = "None",
Contact = new Swashbuckle.AspNetCore.Swagger.Contact { Name = "Blommor", Email = "[email protected]", Url = "https://blog.csdn.net/lxysoid" }
});
});
#endregion
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseMvc();
#region Swagger
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiHelp V1");
});
#endregion
}
到這,已經完成swagger的添加,F5運行調試,在域名後面輸入/swagger,點擊回車
可以看到,swagger將我們項目的接口(這裏只有一個系統默認生成values接口)自動生成一個可視化的接口文檔,點擊對應接口,可以查看接口的相關信息,也可以在當前頁進行簡單的測試調用。