使用Twilio的Spring MVC控制器重定向

时间:2014-12-16 18:29:47

标签: java spring twilio

我有一个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;
}

1 个答案:

答案 0 :(得分:2)

结果Twilio只是从控制器输出一个字符串返回。我发现我需要使用ModelAndView重定向,如下所示:

return new ModelAndView("redirect:/ivr");