日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

ASP.NET?Core中引用OpenAPI服務的添加示例_實用技巧

作者:Upgrader ? 更新時間: 2022-06-26 編程語言

前言:

本文使用 .NET Core SDK 3.1 的版本。

在我們使用微服務的時候,各個微服務之間會經常調用接口,但是手動寫Http請求的代碼非常繁瑣,在 Visual Studio 2019 的 .NET Core 項目中提供了添加連接的服務的功能,使得我們的工作變得簡單容易。

一、將 Swagger 引入 WebAPI 項目

將 Swagger 引入 ASP.NET Core 項目可以使用Swashbuckle 和 ASP.NET Core 入門這篇微軟官方文檔。

創建一個 ASP.NET Core Web API 服務
執行以下命令引入對應的包:

	Install-Package Swashbuckle.AspNetCore -Version 5.6.3

將 Swagger 生成器添加到 Startup.ConfigureServices 方法中的服務集合中:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllers();
        services.AddSwaggerGen();
    }

在 Startup.Configure 方法中,啟用中間件為生成的 JSON 文檔和 Swagger UI 提供服務:

    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());
    }

配置完成后啟動項目訪問 Swagger 頁面,

點擊頁面上的 /swagger/v1/swagger.json 即可跳轉到我們的URL,

例如我這里的是:http://localhost:5000/swagger/v1/swagger.json

二、添加 OpenAPI 服務引用

在解決方案中另新建一個項目 .NET Core 的項目,我這里新建的是控制臺項目。

在項目中右鍵點擊依賴項,選擇 添加連接的服務 ,

在出現的新選項卡中的 服務引用(OpenAPI, gRPC) 中點擊添加按鈕。

然后選擇 OpenAPI 點擊下一步,

重新啟動步驟一中的 WebAPI 項目,

選擇URL并填入先前的 Swagger 描述文件URL

http://localhost:5000/swagger/v1/swagger.json,點擊完成等待完成即可。

(如果將swagger.json下載后,在這里使用文件也是可行的)

添加后項目中多了一個 ~/OpenAPIs/swagger.json 文件。
然后即可在代碼中直接調用接口:

    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!");
    }

對于已配置的服務引用由于已經更改需要進行更新,則直接在更多列表中的刷新選項即可。

參考文檔

Swashbuckle 和 ASP.NET Core 入門

原文鏈接:https://blog.csdn.net/Upgrader/article/details/114219673

欄目分類
最近更新