c# - 暮光之声- DotNetCore - Digits 参数始终为空
问题描述
我正在尝试执行以下操作:
- 呼叫 twilio #。
- 从用户那里收集数字。
- 处理数字。
我正在使用 DotNetCore webapi。
我遇到的问题是,当 twilio 发布到 Gather 操作 uri 时,Digits 始终为空。我在 twilio 调试控制台中确认 Digits 参数确实有一个值。
这是我的控制器的简化版本:
[ApiController]
[Route("api/[controller]")]
public class VoiceController : ControllerBase
{
[HttpPost]
public IActionResult Post()
{
var response = new VoiceResponse();
var say = new Say("Please type your meeting password.");
var gather = new Gather(action: "placeholderURI/JoinMeeting");
response.Append(gather).Append(say);
response.Redirect("placeholderURI");
return Content(response.ToString(), "application/xml");
}
[HttpPost("JoinMeeting")]
public IActionResult JoinMeeting(string Digits)
{
var response = new VoiceResponse();
if(Digits != null){
//do stuff
}else{
var say = new Say("WRONG");
response.Append(say).Redirect("placeholderURI");
}
return Content(response.ToString(), "application/xml");
}
}
此外,我可以将调试控制台中的 RAW 参数复制到邮递员的参数中,并成功发布到我的端点。
我错过了什么吗?也许在 JoinMeeting 方法上有一些装饰?
解决方案
我没看说明书……
在 twilio POST 上,参数将在正文中。
在 twilio GET 上,参数将位于查询字符串中。
我将第二种方法更新为 GET 并确保指定方法:
var gather = new Gather(action: "uriPlaceholder", method: HttpMethods.Get);
推荐阅读
- python - 熊猫逐渐减去日期,直到满足数据帧的条件
- bash - 当否定集中仅存在点时,sed 替换 '=' 符号
- python - 创建目录失败:logs/fit
- typescript - 如何正确定义嵌套对象的泛型类型
- java - 从 HashMap 的 HashMap 中修改元素
- angular - Angular - ngOnInit 中的两个订阅导致对象“未定义”
- ios - 使用 Storyboard 向 UINavigation 堆叠中的嵌套视图添加右键
- sql - 根据特定条件自动在每个主题中添加升级标记的过程
- matlab - 根据索引和值从数组元素创建结构
- c++ - WriteProcessMemory 函数的访问被拒绝