ASP.NET?Core中引用OpenAPI服務(wù)的添加示例
前言:
本文使用 .NET Core SDK 3.1 的版本。
在我們使用微服務(wù)的時(shí)候,各個(gè)微服務(wù)之間會(huì)經(jīng)常調(diào)用接口,但是手動(dòng)寫(xiě)Http請(qǐng)求的代碼非常繁瑣,在 Visual Studio 2019 的 .NET Core 項(xiàng)目中提供了添加連接的服務(wù)的功能,使得我們的工作變得簡(jiǎn)單容易。
一、將 Swagger 引入 WebAPI 項(xiàng)目
將 Swagger 引入 ASP.NET Core 項(xiàng)目可以使用Swashbuckle 和 ASP.NET Core 入門(mén)這篇微軟官方文檔。
創(chuàng)建一個(gè) ASP.NET Core Web API 服務(wù)
執(zhí)行以下命令引入對(duì)應(yīng)的包:
Install-Package Swashbuckle.AspNetCore -Version 5.6.3
將 Swagger 生成器添加到 Startup.ConfigureServices 方法中的服務(wù)集合中:
public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddSwaggerGen(); }
在 Startup.Configure 方法中,啟用中間件為生成的 JSON 文檔和 Swagger UI 提供服務(wù):
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseSwagger(); app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1")); app.UseRouting(); app.UseEndpoints(endpoints => endpoints.MapControllers()); }
配置完成后啟動(dòng)項(xiàng)目訪問(wèn) Swagger 頁(yè)面,
點(diǎn)擊頁(yè)面上的 /swagger/v1/swagger.json 即可跳轉(zhuǎn)到我們的URL,
例如我這里的是:http://localhost:5000/swagger/v1/swagger.json
二、添加 OpenAPI 服務(wù)引用
在解決方案中另新建一個(gè)項(xiàng)目 .NET Core 的項(xiàng)目,我這里新建的是控制臺(tái)項(xiàng)目。
在項(xiàng)目中右鍵點(diǎn)擊依賴項(xiàng),選擇 添加連接的服務(wù) ,
在出現(xiàn)的新選項(xiàng)卡中的 服務(wù)引用(OpenAPI, gRPC) 中點(diǎn)擊添加按鈕。
然后選擇 OpenAPI 點(diǎn)擊下一步,
重新啟動(dòng)步驟一中的 WebAPI 項(xiàng)目,
選擇URL并填入先前的 Swagger 描述文件URL
http://localhost:5000/swagger/v1/swagger.json,點(diǎn)擊完成等待完成即可。
(如果將swagger.json下載后,在這里使用文件也是可行的)
添加后項(xiàng)目中多了一個(gè) ~/OpenAPIs/swagger.json 文件。
然后即可在代碼中直接調(diào)用接口:
static async Task Main(string[] args) { var http = new HttpClient(); var client = new swaggerClient("http://localhost:5000/", http); var result = await client.WeatherForecastAsync(); foreach (var item in result) { Console.WriteLine($"{item.Date}, {item.TemperatureF}, {item.Summary}"); } Console.WriteLine("Hello World!"); }
對(duì)于已配置的服務(wù)引用由于已經(jīng)更改需要進(jìn)行更新,則直接在更多列表中的刷新選項(xiàng)即可。
參考文檔
Swashbuckle 和 ASP.NET Core 入門(mén)
以上就是ASP.NET Core中引用OpenAPI服務(wù)的添加示例的詳細(xì)內(nèi)容,更多關(guān)于ASP.NET Core引用OpenAPI服務(wù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
ajaxpro.dll 控件實(shí)現(xiàn)異步刷新頁(yè)面
用ajaxpro.dll控件實(shí)現(xiàn)異步刷新頁(yè)面的代碼,需要的朋友可以參考下。2009-11-11利用ASP.NET MVC和Bootstrap快速搭建個(gè)人博客之后臺(tái)dataTable數(shù)據(jù)列表
jQuery dataTables 插件是一個(gè)優(yōu)秀的表格插件,應(yīng)用非常廣泛,本文給大家介紹利用ASP.NET MVC和Bootstrap快速搭建個(gè)人博客之后臺(tái)dataTable數(shù)據(jù)列表,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看下吧2016-07-07asp.net頁(yè)面SqlCacheDependency緩存實(shí)例
這篇文章主要介紹了asp.net頁(yè)面SqlCacheDependency緩存實(shí)例,以一個(gè)完整實(shí)例來(lái)展現(xiàn)asp.net中緩存技術(shù)的使用方法,需要的朋友可以參考下2014-08-08關(guān)于VS2012自帶的 性能分析 工具使用實(shí)例(圖文介紹)
本篇文章小編為大家介紹,關(guān)于VS2012自帶的 性能分析 工具使用實(shí)例(圖文介紹),需要的朋友參考下2013-04-04Asp.Net URL重寫(xiě)的具體實(shí)現(xiàn)
這篇文章主要介紹了Asp.Net URL重寫(xiě)的具體實(shí)現(xiàn),有需要的朋友可以參考一下2014-01-01安裝.NET Framework進(jìn)度條卡住不動(dòng)的解決方案(推薦)
VS在安裝之前需要安裝.NET Framework,我安裝的是4.0版本。但是安裝進(jìn)度條到一半左右時(shí)就卡住不動(dòng)了。前前后后重試多次,還有幾次重新開(kāi)機(jī),但都沒(méi)用,怎么解決呢,下面給大家分享下解決方案2016-12-12