繁体   English   中英

从 .NET Core Web API POST 方法中调用外部 Web 服务

[英]Call an external webservice from within a .NET Core Web API POST method

我目前正在创建一个可以从 Postman 控制台播放的简单游戏,作为 .NET Core Web API 项目。

我可以毫无困难地从 Postman 将数据 POST 到游戏,但是我在设置对外部 Web 服务的调用时遇到了一些问题。

我想要做的是接收一个 POST,然后从提供随机数的外部服务中对一些随机数进行外部 API 调用。 这个方法似乎需要在 POST 方法中,以确保它在每次 POST 请求后触发并每次生成新数字。

我已经使用 HTTPWebClient 创建了一个ProcessRandomNumbers异步方法,该方法返回一个“msg”(消息)的值,然后我尝试在我的 POST 中调用该方法,然后将字符串解析为数字并分配值并将它们用于计算。 但是,我似乎无法访问从 POST 请求中的方法返回的数据 ('msg')?

我的 POST 方法中的代码如下:

    await ProcessRandomNumbers();

    if (diceRoll.Roll == true)
    {
        diceRoll.DiceRoll = msg;
    }

感谢任何人可以提供的任何帮助!

看起来ProcessNumbers()只尝试从外部网站获取数字,因此可以将此方法重命名为GetRandomNumbers()

这是我将 API 响应返回给调用者的代码片段:

private async Task<string> GetRandomNumber()
{
     client.DefaultRequestHeaders.Accept.Clear();
     client.DefaultRequestHeaders.Add("User-Agent",
                ".NET Foundation Repository Reporter");
     return await client.GetStringAsync("https://www.random.org/integers/?num=2&min=1&max=6&col=2&base=10&format=plain"); 
 }

在调用者中将返回值分配给msg字段,并使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM