当前位置: 首页 > 知识库问答 >
问题:

如何在Twilio中设置Webhook到.Net Core Web API Controller?

史劲
2023-03-14

我正在尝试通过我的 .NET Core Web API 项目接收来自 Twilio 的请求。我不想使用 MVC。我已经按照 Twilio 文档中的教程接收消息并返回响应,但它似乎仅适用于 MVC 项目。我一行一行地遵循指示,但仍然“没有快乐”。

当我尝试通过邮递员命中endpoint时,我收到 400 错误请求响应。正文说:“”:[“输入无效。

Twilio 将错误记录为错误 - 11200 HTTP 检索失败

MVC 和 Web API 控制器“如果我没记错的话”都继承自 .Net Core 中的相同基类。有谁知道为什么这不适用于 Web API 控制器?

共有1个答案

梁渊
2023-03-14

你似乎对这里的事情感到困惑。当涉及到 ASP.NET 核心时,实际上没有MVC或Web API这样的东西。控制器就是控制器就是控制器。也就是说,从 ASP.NET Core 2.1开始,“API”控制器现在通常继承自ControllerBase并应用ApiController属性,而“MVC”控制器继承自Controller。但是,情况仅此而已,因为如果控制器专门用于API内容,则不一定需要Controller和ApiControlle的所有花里胡哨的东西。r 属性添加了一些特定于 API 的有用功能。你也可以有一个继承自控制器的“API”控制器,而没有 ApiController 属性,或者你甚至可以有一个从 ControllerBase 继承的“MVC”控制器。

长和短,术语只是语义。将控制器称为“API 控制器”是表示它是符合 REST 规范并具有返回 JSON 或 XML 等操作的控制器的简写,而将控制器称为“MVC 控制器”只是表示它是其操作返回 Razor 视图的控制器的简写。

也就是说,Twilio 文档实际上让你使用 TwilioController,虽然我没有深入研究源代码,但它可能只是从 ControllerBase 派生出来,并为你实现了 webhook 处理样板。因此,如果你的问题是为什么你不能在这里只使用普通的控制器ControllerBase而不是TwilioController,那么答案很可能是,如果你实现与它自己相同的代码,你很可能可以。

 类似资料:
  • 我们有一个支持WhatsApp的Twilio电话号码。当试图以编程方式设置传入消息的webhook时,webhook设置正确,但消息无法通过。 谢谢,

  • 我正在尝试为Authy OneTouch推送身份验证设置webhooks。我设法成功注册到事件,从订阅调用中保存网络钩子签名密钥,但我仍然无法验证请求:任何攻击者都可以伪造虚假请求并轻松绕过2FA检查。 API文档让我很困惑,因为回调请求与所提到的格式不匹配(尤其是它们没有X-Authy-Signature头),并且只有以下头: 我还尝试验证JWT令牌的签名,但仍然无效(传入的请求:):我总是得到

  • 问题内容: 我正在尝试使用JavaFX中的WebView入门,但是当尝试打开W​​ebView时,我收到以下所示的错误,我该如何解决此问题? 问题答案: 尝试运行WebView时遇到任何错误时,请确保您的VM选项包含模块javafx.web。 虚拟机选项: 在IntelliJ中,您可以通过转到IDE右上方的“编辑配置”按钮来访问VM选项。

  • 问题内容: 我已经使用数据库中的SQL数据库开发了一个窗口服务,该数据库中的记录已满,因此查询执行需要很多时间,而默认命令超时是30S,但我想将其增加到120S。 但是我的应用程序中有很多方法,因此我想从APP.config文件中进行设置,这样它将适用于应用程序级别,任何人都可以告诉我如何实现此目标 谢谢 问题答案: 实现此目的的最简单方法是在类似以下内容的地方添加新条目: 然后,创建一个将填充值

  • 问题内容: 我有一个模型: 如何编写基于类的视图,该视图创建新的模型实例并将外键设置为? 问题答案: 我通过覆盖方法解决了这个问题。下面是详细说明的样式: 但是我们可以简短地说(感谢dowjones123),在docs中提到了这种情况。

  • 问题内容: 我试着把这2行 在我的根.htaccess文件中,但这给我带来“内部服务器错误”消息… php5正在服务器上运行, 我无权访问php.ini,因此我认为htaccess是我唯一的机会。 你能告诉我哪里错了吗? 提前致谢 问题答案: 是正确的。 您将必须与您的托管服务商联系-有些不允许您更改php.ini中的值