我在这段代码中做错了什么?当我向此API发送POST请求时,我会收到404错误页面。有人可以帮我调试这段代码。休息Api和Twilio的新手。
using System.Web.Mvc;
using Twilio.TwiML.Mvc;
using Twilio.Mvc;
namespace MVC4Test.Controllers
{
public class HomeController : TwilioController
{
[HttpPost]
public TwiMLResult ActionResult(SmsRequest request)
{
string smsTextType = request.Body;
var response = new Twilio.TwiML.TwilioResponse();
Response.ContentType = "text/xml";
response.Redirect("http://www.google.com");
//Response.ContentEncoding = System.Text.Encoding.UTF8;
//Response.Write(smsTest);
return TwiML(response);
//Response.Close();
}
}
}
这是我的路线
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
答案 0 :(得分:1)
Twilio传道者在这里。
您可以发布您尝试加载的网址吗?
我的第一个猜测是你错误地命名了你的Action方法。现在是这个:
public TwiMLResult ActionResult(SmsRequest request)
这意味着您需要请求的网址是:
http://[yourdomain]/Home/ActionResult
如果您更改方法的名称:
public ActionResult Sms(SmsRequest request)
然后您的网址将是:
http://[yourdomain]/Home/Sms
我注意到的其他一些事情:
<Redirect>
希望有所帮助。