我正在使用 Java SDK 使用类似于
Call.creator(to, from, callbackAddress)
我提供了一个 URL ( callbackAddress),一旦呼叫连接,它将接收回调。有什么方法可以将此回调配置为 JSON 而不是"application/x-www-form-urlencoded; charset=UTF-8"?
我尝试这样做的原因是因为我正在使用 Spring,最终我试图在我的 RestController 中的反序列化 Pojo 中接收请求参数(body下面示例中的参数),这是 SpringMVC 中的标准。使用 jackson 更容易做到这一点,它需要一个 JSON 请求正文
作为第二个问题,Twilio SDK 中是否有一个类已经封装了请求中的所有参数,或者我必须创建这样的类?
这是一个虚拟休息控制器来说明我正在尝试做什么。请注意,“出城”错误的逻辑只是一个愚蠢的演示,用于说明为什么我需要访问请求参数。我找到的关于回调的所有示例总是忽略请求参数并返回静态 TwiML
@RestController
@RequestMapping(value = "/twilio", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
public class TwilioCallbackController {
@PostMapping
public String handleCallback(RequestBody body /*this arg should have all request params*/) {
log.info("received callback for callId {}", body.getCallSid())
if (!body.toCity().equals("my-city")) {
throw new Exception("outside of city");
}
return createTwiML(body);
}
}
噜噜哒
相关分类