溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Swagge如何在ASP.NetCore項(xiàng)目中使用

發(fā)布時(shí)間:2020-12-11 15:00:03 來源:億速云 閱讀:231 作者:Leah 欄目:開發(fā)技術(shù)

Swagge如何在ASP.NetCore項(xiàng)目中使用?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

什么是swagger

使人和計(jì)算機(jī)在看不到源碼或者看不到文檔或者不能通過網(wǎng)絡(luò)流量檢測(cè)的情況下能發(fā)現(xiàn)和理解各種服務(wù)的功能。

Swagge如何在ASP.NetCore項(xiàng)目中使用

Swagger? 的目標(biāo)是為 REST APIs 定義一個(gè)標(biāo)準(zhǔn)的,與語言無關(guān)的接口。只需要按照它的規(guī)范去定義接口及接口相關(guān)的信息。再通過Swagger衍生出來的一系列項(xiàng)目和工具,就可以做到生成各種格式的接口文檔,生成多種語言的客戶端和服務(wù)端的代碼,以及在線接口調(diào)試頁面等。

所帶來的幫助

當(dāng)項(xiàng)目處于啟動(dòng)階段
如果有了穩(wěn)定的后臺(tái)框架,直接依據(jù)業(yè)務(wù)需求編寫服務(wù)端被調(diào)用層的代碼(即controller及其入?yún)⒊鰠?duì)象),然后通過Swagger生成相關(guān)描述文件,使用者就可以直接使用了。
如果后臺(tái)框架不成熟或在設(shè)計(jì)中,但是依據(jù)業(yè)務(wù)需求我們可以完成更多的工作而不是等待,先根據(jù)數(shù)據(jù)需求編寫Swagger描述文件,通過該描述文件生成接口文檔,指引項(xiàng)目的相關(guān)開發(fā)。
當(dāng)項(xiàng)目處于迭代階段
在項(xiàng)目的持續(xù)開發(fā)中,后端人員無需關(guān)注Swagger描述文件和接口文檔,有需求變更導(dǎo)致接口變化,可直接編程實(shí)現(xiàn),然后生成新的描述文件和接口文檔后,給到前端即可。

使用Swagger

首先,先創(chuàng)建一個(gè)新的WebAPI項(xiàng)目,并在Nuget中找到對(duì)應(yīng)的包,搜索Swashbuckle會(huì)出現(xiàn)很多應(yīng)用包,可以根據(jù)描述選擇自己需要的引用。我在這里使用的是Swashbuckle.AspNetCore.Filters

Swagge如何在ASP.NetCore項(xiàng)目中使用

接下來在Startup中插入如下代碼
注冊(cè)服務(wù)

services.AddSwaggerGen(options =>
      {
        options.SwaggerDoc("v1", new OpenApiInfo
        {
          Title = "HTTP API 目錄",
          Version = "v1",
          Description = "目錄微服務(wù)HTTP API。"
        });
      });

中間件

 //啟用中間件服務(wù)生成Swagger作為JSON終結(jié)點(diǎn)
      app.UseSwagger();
      //啟用中間件服務(wù)對(duì)swagger-ui,指定Swagger JSON終結(jié)點(diǎn)
      app.UseSwagger().UseSwaggerUI(c =>
      {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
      });

然后,就可以使用了,請(qǐng)求對(duì)應(yīng)地址 https://localhost:44375/swagger/index.html,現(xiàn)在就可以看到示例代碼中的WeatherForecast.cs了。

Swagge如何在ASP.NetCore項(xiàng)目中使用

看完上述內(nèi)容,你們掌握Swagge如何在ASP.NetCore項(xiàng)目中使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI