NSwag Settings & HttpClient Startup

筆記下用 NSwag 產生 HttpClient 的設定注意事項

結論

  1. 按照微軟官方文件下載並安裝 NSwag 桌面應用程式
    NSwag 與 ASP.NET Core 使用者入門 | Microsoft Learn
  2. 設定 NSwag 產生 Client 的細節,改命名空間跟類別名稱
    這邊因為我打算從 Startup 用 Typed Client 的方式設定 baseUrl
    所以需要特別取消勾選 Use the base URL for the request

      3. 在專案內建立一個程式碼檔案,並將產生的 Outputs 程式碼複製貼上,例如 TestProxy.cs

      4. 在 Startup 註冊該 TypedClient,並由 appsettings 設定 baseUrl

private void ConfigureHttpClient(
    ServiceConfigurationContext context,
    IConfiguration configuration)
{
    context.Services.AddHttpClient<ITestProxy,TestProxy>(opt =>
    {
        if(Uri.TryCreate(configuration["TestProxy:URL"], UriKind.Absolute,out var uri))
        {
            opt.BaseAddress = uri;
        }
    });
}

      5. 最後在需要使用的地方直接注入該 TypedClient,範例是 ITestProxy

private readonly ITestProxy _service;

public TestManager(ITestProxy service)
{
    _service = service;
}
PS5