在 MVC 应用程序中调用 Web API(否 GET/POST/DELETE/UPDATE)

Call Web API in MVC app (No GET/POST/DELETE/UPDATE)

我正在开发一个 MVC 应用程序,它会在订单创建期间向注册的 phone 号码发送短信。流程是:

我希望控制器使用网络 api 发送代码,就在控制器操作中创建代码之后。我正在使用“clickatell”网络 api,我可以在其中使用此 link 发送短信: https://api.clickatell.com/http/sendmsg?user=[USERNAME]&password=[PASSWORD]&api_id=[API ID]&to=[PHONE NUMBER]&text=[TXT MESSAGE]

我不需要返回任何信息,API 只是在您访问 url 时发送短信。我需要控制器以某种方式访问​​该网站(不显示它)或只是向它发送消息以触发 SMS 事件。

我尝试使用 Http、uri 和 url 类,但我似乎找不到任何方法来完成我想要它做的事情。有没有一种简单的方法可以调用网络 api 并使其从控制器操作发送短信?

要从 WebAPI 获取结果,可以使用 HttpClient。建议每个应用程序也只实例化它一次,而不是每次使用(您可以在 msdn 中查看 httpclient 备注)但对于示例,我将排除它。

await new HttpClient().GetAsync("https://api.clickatell.com...")

这将 return 你 HttpResponseMessage 你可能还想检查 属性 IsSuccessStatusCode(或者直接调用 EnsureSuccessStatusCode()如果您想以这种方式处理,则抛出异常)无论请求是否成功,因为外部服务可能不可用(或者也可能发生其他问题)