首页 > 解决方案 > 如何根据 ASP.NET Core 中的环境配置 fetch() URL?

问题描述

我有一个包含 2 个项目的 Visual Studio 2019 解决方案:

  1. 一个 ASP.NET Core Web 应用程序(Razor 页面)项目
  2. 一个 ASP.NET Core Web API 项目

我正在使用Fetch API从 Razor Pages 应用程序中的 Razor Pages 对 Web API 进行 JavaScript 调用。

例如:

fetch("https://localhost:44325/api/Customer/12")
    .then(response => response.json())
    .then(data => processData(data))
    .catch(err => showError(err));

如何根据 Web App 运行的环境配置 url(上面 fetch() 调用的第一个参数) - 即开发(如上)、登台、生产等?

标签: javascriptasp.net-corefetch-api

解决方案


我正在寻找类似的东西,我发现了这篇文章。 https://www.thecodebuzz.com/set-appsettings-json-dynamically-dev-and-release-environments-asp-net-core/

您可以拥有多种类型的 appsettings.json 文件,其中包含特定于 DEV、TEST 或 STAGING 和 PROD 的配置详细信息。然后只需在设置文件中定义您的网址,例如

appsettings.Development.json

{    
  "ApiUrls": {
    "CustomerApi": "https://localhost:44325/api/Customer/12",
  }
}

appsettings.prod.json

  {    
      "ApiUrls": {
        "CustomerApi": "https://productionurlblablabla/api/Customer/12",
      }
    }

等等。它在那里的所有描述都对我有用,但我不是这本书的作者,所以请随意阅读并祝你好运。


推荐阅读