在 MVC 应用程序中调用 Web API(否 GET/POST/DELETE/UPDATE)
Call Web API in MVC app (No GET/POST/DELETE/UPDATE)
我正在开发一个 MVC 应用程序,它会在订单创建期间向注册的 phone 号码发送短信。流程是:
- 用户输入个人信息(包括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()
如果您想以这种方式处理,则抛出异常)无论请求是否成功,因为外部服务可能不可用(或者也可能发生其他问题)
我正在开发一个 MVC 应用程序,它会在订单创建期间向注册的 phone 号码发送短信。流程是:
- 用户输入个人信息(包括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()
如果您想以这种方式处理,则抛出异常)无论请求是否成功,因为外部服务可能不可用(或者也可能发生其他问题)