【问题标题】:Rename parameters for a request in NET Core 2.2在 NET Core 2.2 中重命名请求的参数
【发布时间】:2019-07-27 01:40:16
【问题描述】:

我正在构建一个简单的代理,用于向数据提供者 OpenWeatherMap 发送两个 get 请求。根据其文档,如果我想获取当前天气,我需要发送一个带有参数q 的请求。目前,我使用 Axios 库从前端部分发出请求,并在此处指示此 q 参数。但我想让它更具可读性并使用参数cityName 发送请求。如何更改应用程序的 NET Core 部分中的参数名称?

这是我在 HttpClient 中所做的:

using (var httpClient = new HttpClient())
{
    var response = await httpClient.GetAsync( "http://api.openweathermap.org/data/2.5/weather" + pathAndQuery.Replace( apiEndpoint, "" ) + "&appid=ggggg" );
    var result = await response.Content.ReadAsStringAsync();
    context.Response.StatusCode = (int)response.StatusCode;
    await context.Response.WriteAsync( result );
}

【问题讨论】:

  • 我在代码中的任何地方都没有看到参数 q。你错过了什么吗?你所要做的就是在这里返回结果
  • 不,我没有错过任何东西。正如我所提到的,我在 Axios 请求中发送了这个参数(在应用程序的前端部分)。我的前端查看我在后端请求中使用的变量apiEndpoint。因此,如果有匹配项,OpenWeatherMap 提供者将获取q 参数。

标签: c# .net-core asp.net-core-2.2


【解决方案1】:

你可以写一个这样的方法:

public const string Endpoint = "api.openweathermap.org/data/2.5/weather";
public async void GetWeatherBytCityName(string cityName)
{
    using (var httpClient = new HttpClient())
    {
        var query = $"?q={cityName}";
        var response = await httpClient.GetAsync( $"{Endpoint}{query}");
    }
}

【讨论】:

  • 谢谢,好像我需要的东西!我会在几个小时内检查它并回答它是否有效。 :)
  • 不幸的是,它没有。我的控制台中有很多错误。在我尝试添加解决方案的第二行之后,其中之一是“修饰符 'public' 对此项目无效”。
  • @OlgaB 方法中不能有修饰符。在 C# 中,没有方法中的方法。如需进一步帮助,请发布完整方法。
猜你喜欢
  • 2019-07-02
  • 2021-08-26
  • 1970-01-01
  • 1970-01-01
  • 2019-11-28
  • 2019-11-21
  • 1970-01-01
  • 2020-07-22
  • 2019-06-23
相关资源
最近更新 更多