最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.NET中的Swagger使用示例詳解

 更新時間:2023年12月25日 15:49:40   作者:我是一只小小魚~  
Swagger?(OpenAPI)?是一個與語言無關(guān)的規(guī)范,用于描述?REST?API,這篇文章給大家介紹.NET中的Swagger使用,感興趣的朋友一起看看吧

前言

現(xiàn)在很多項(xiàng)目都是前后端分離的項(xiàng)目,后端寫好接口跟前端對接,需要后端提供接口文檔、參數(shù)等注釋,這上面花時間著這些東西,接口修改又要去修改文檔,很不方便前后端人員開發(fā)

一、Swagger是什么?

Swagger (OpenAPI) 是一個與語言無關(guān)的規(guī)范,用于描述 REST API。

OpenAPI 與 Swagger關(guān)系
Swagger 項(xiàng)目已于 2015 年捐贈給 OpenAPI 計(jì)劃,自此它被稱為 OpenAPI,這兩個名稱可互換使用。 不過,“OpenAPI”指的是規(guī)范。
簡而言之:
OpenAPI 是一種規(guī)范。
Swagger 是一種使用 OpenAPI 規(guī)范的工具。 例如,OpenAPIGenerator 和 SwaggerUI。

目前從NETCore從3.1起已經(jīng)集成Sawwger,無需再去引用庫,創(chuàng)建項(xiàng)目后運(yùn)行API項(xiàng)目自動Sawwger接口文檔的頁面 

介紹大家可能會關(guān)注的一些點(diǎn)

二、如何Swagger文檔說明的信息

1.在AddSwaggerGen方法中寫入文檔信息

代碼如下(示例):

builder.Services.AddSwaggerGen(options =>
{
    //諸如作者、文檔說明的信息
    options.SwaggerDoc("v1", new OpenApiInfo
    {
        Version = "v1",
        Title = "我的API",
        Description = "這是我的netcoreAPI項(xiàng)目",//描述信息
        Contact = new OpenApiContact
        {
            Name = "我是小小魚",
            Url = new Uri("https://blog.csdn.net/qq_42335551")
        }
    });

2.運(yùn)行效果

如圖(示例):

二、文檔UI界面標(biāo)題、路由設(shè)置

如何修改標(biāo)簽頁的名、和地址要怎么修改呢

1.在中間件UseSwaggerUI方法中配置

 app.UseSwagger();
    app.UseSwaggerUI(c => { 
        c.DocumentTitle = "后臺接口列表";   //標(biāo)簽頁標(biāo)題
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "公共模塊");//接口文檔json文件
        c.RoutePrefix =string.Empty;// 注:這里的路由修改后,launchSettings.json中的launchUrl對應(yīng)需要調(diào)整為""
    });

 在次啟動項(xiàng)目 已經(jīng)變成修改后的標(biāo)簽頁和地址

三、文檔UI界面添加接口注釋

如何添加接口的注釋呢

1.在 .csproj中配置

    在解決方案資源管理器中右鍵單擊該項(xiàng)目。
    將 GenerateDocumentationFile 添加到 .csproj 文件中PropertyGroup節(jié)點(diǎn)下

<GenerateDocumentationFile>true</GenerateDocumentationFile>

2.在AddSwaggerGen方法中配置IncludeXmlComments

代碼如下(示例):

builder.Services.AddSwaggerGen(options =>
{
    //諸如作者、文檔說明的信息
    options.SwaggerDoc("v1", new OpenApiInfo
    {
        Version = "v1",
        Title = "我的API",
        Description = "這是我的netcoreAPI項(xiàng)目",//描述信息
        Contact = new OpenApiContact
        {
            Name = "我是小小魚",
            Url = new Uri("https://blog.csdn.net/qq_42335551")
        }
    });
    var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
    options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename), true);//true 顯示控制器注釋
});

 運(yùn)行效果,已經(jīng)顯示出我們的注釋

 可以在控制器、參數(shù)、實(shí)體類增加注釋后,再次運(yùn)行都有顯示

四、對接口進(jìn)行分組

1.在AddSwaggerGen、UseSwaggerUI分別添加如下信息

例如

    options.SwaggerDoc("yw", new OpenApiInfo { Title = "業(yè)務(wù)模塊", Version = "yw" });
    options.SwaggerDoc("qt", new OpenApiInfo { Title = "其他模塊", Version = "qt" });

例如

 c.SwaggerEndpoint("/swagger/v1/swagger.json", "公共模塊");//接口文檔json文件
 c.SwaggerEndpoint("/swagger/yw/swagger.json", "業(yè)務(wù)模塊");
 c.SwaggerEndpoint("/swagger/qt/swagger.json", "其他模塊");
 c.DocExpansion(Swashbuckle.AspNetCore.SwaggerUI.DocExpansion.List);//接口不展開None

 2.在controller或者action上打上ApiExplorerSettings特性

例如[ApiExplorerSettings(GroupName = "v1")]

總結(jié)

有Sawwger有利于前后端開發(fā)人員接口的對接,調(diào)試,功能上挺豐富的,簡單的寫了以上幾點(diǎn)

到此這篇關(guān)于.NET中的Swagger使用的文章就介紹到這了,更多相關(guān).NET Swagger使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Asp.net禁用頁面緩存的方法總結(jié)

    Asp.net禁用頁面緩存的方法總結(jié)

    這篇文章主要介紹了Asp.net禁用頁面緩存的方法,需要的朋友可以參考下
    2014-02-02
  • 使用.NET Core實(shí)現(xiàn)餓了嗎拆紅包功能

    使用.NET Core實(shí)現(xiàn)餓了嗎拆紅包功能

    這篇文章主要介紹了使用.NET Core實(shí)現(xiàn)餓了嗎拆紅包功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • asp.net內(nèi)置對象 Response對象使用介紹

    asp.net內(nèi)置對象 Response對象使用介紹

    這篇文章主要介紹了asp.net內(nèi)置對象:Response對象使用介紹,對Response對象感興趣的小伙伴們可以參考一下
    2015-11-11
  • 一個簡單的自定義程序日志小樣例

    一個簡單的自定義程序日志小樣例

    前面一篇文章大概說了下自己對日志的一點(diǎn)理解,可能不太直觀,這里再附上一個簡單的使用例子,以作為對之前的補(bǔ)充,例子比較簡單,所以直接看注釋即可。
    2009-07-07
  • asp.net2.0中css失效的解決方法

    asp.net2.0中css失效的解決方法

    經(jīng)常有人遇到ASP.NET 2.0(ASP.NET 1.x中可能是有效的)中CSS失效的問題,現(xiàn)將主要原因和解決方法羅列如下
    2014-01-01
  • asp.net更新指定記錄的方法

    asp.net更新指定記錄的方法

    這篇文章主要介紹了asp.net更新指定記錄的方法,涉及針對指定ID調(diào)用update語句的方法,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • ASP.NET編譯執(zhí)行常見錯誤及解決方法匯總

    ASP.NET編譯執(zhí)行常見錯誤及解決方法匯總

    ASP.NET編譯執(zhí)行常見錯誤及解決方法匯總,開發(fā)asp.net的朋友可以參考下。方便以后解決一些錯誤。
    2011-12-12
  • .Net之微信小程序獲取用戶UnionID的實(shí)現(xiàn)

    .Net之微信小程序獲取用戶UnionID的實(shí)現(xiàn)

    這篇文章主要介紹了.Net之微信小程序獲取用戶UnionID的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Visual Studio 2015安裝步驟詳解

    Visual Studio 2015安裝步驟詳解

    這篇文章主要為大家詳細(xì)介紹了Visual Studio 2015安裝步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • .NET Core單文件發(fā)布靜態(tài)編譯AOT CoreRT的方法詳解

    .NET Core單文件發(fā)布靜態(tài)編譯AOT CoreRT的方法詳解

    這篇文章主要給大家介紹了關(guān)于.NET Core單文件發(fā)布靜態(tài)編譯AOT CoreRT的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07

最新評論

尼勒克县| 濮阳县| 盐山县| 炉霍县| 满城县| 巴青县| 尉犁县| 柳林县| 康保县| 温宿县| 阜城县| 广灵县| 通辽市| 隆德县| 通州区| 叶城县| 甘洛县| 信阳市| 鹤山市| 宜宾市| 赣州市| 若羌县| 扬州市| 申扎县| 利辛县| 日喀则市| 许昌县| 泰来县| 剑河县| 绥中县| 共和县| 嘉定区| 长沙县| 兴化市| 仁化县| 衡山县| 得荣县| 丹凤县| 内丘县| 九寨沟县| 县级市|