我有一个twilio应用程序,我正在尝试使用相同的代码在西班牙语和英语之间分配。这个想法很简单,将XML分成两个分配西班牙语版本或英语的函数。这很好,但我遇到了重定向控制器的问题。
我看到的所有答案都是return "redirect:/route"
但是对于Twilio,这只会导致手机用英语说“重定向冒号斜线路线”,然后挂断电话
我做错了什么?
//assign english data and redirect to IVR greeting method
@RequestMapping(value = "/ivr/en")
public String ivrLangEn(@RequestParam("CallSid") String callID) {
//english xml string assignments here
return "redirect:/irv";
}
//assign spanish data and redirect to IVR greeting method
@RequestMapping(value = "/ivr/sp")
public String ivrLangSp(@RequestParam("CallSid") String callID) {
//spanish xml string assignments here
return "redirect:/ivr";
}
@RequestMapping(value = "/ivr", produces = MediaType.APPLICATION_XML_VALUE)
/*
* Main greeting method. Display greeting and default to question one
* @return returns the XML for the greeting and question one
*/
@ResponseBody
public String greeting(@RequestParam("CallSid") String callID) {
repository.save(new Feedback(callID));
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<Response>"+
"<Say>Hello.</Say>"+
one +
"</Response>";
return xml;
}
答案 0 :(得分:2)
结果Twilio只是从控制器输出一个字符串返回。我发现我需要使用ModelAndView
重定向,如下所示:
return new ModelAndView("redirect:/ivr");