获取 webapi 的基础 URL

Get base URL of webapi

(手机输入) 我得到了一个带有基于动作的 http 控制器的 webapi。 所以没有网页只有 API。 vsstudio 在本地部署时生成 localhost:port URLs。 我想知道如何获得基础 URL,即使它部署在其他地方。 我想一定有一些环境变量。

您可以从 HTTPContext 中获取基础 URL。我给你写了一些示例代码,希望对你有帮助!

[Route("api")]
public class MyController : ControllerBase
{
    [HttpGet]
    [Route("getBaseUrl")]
    public string GetBaseUrl()
    {
        var request = HttpContext.Request;

        var baseUrl = $"{request.Scheme}://{request.Host}:{request.PathBase.ToUriComponent()}";

        return baseUrl;
    }
}