亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

強制 Twilio 語音回調到 JSON 以促進 Spring 中的反序列化

強制 Twilio 語音回調到 JSON 以促進 Spring 中的反序列化

慕桂英4014372 2023-06-14 14:37:32
我正在使用 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);  }}
查看完整描述

1 回答

?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

Twilio 開發者傳播者在這里。

無法讓 Twilio 以 JSON 格式向您發送 webhook,它將作為表單編碼參數發送。但是,讓 Spring 解析它們應該沒有問題。

您可以通過為每個參數創建一個具有 getter 和 setter 的類來創建一個將參數解析到其中的類。

因此,例如,您可以創建以下類:

public class TwilioWebhook {

? private String CallSid;

? private String From;


? public String getCallSid() {

? ? return CallSid;

? }


? public void setText(String CallSid) {

? ? this.CallSid = CallSid;

? }

}

然后您可以使用它從傳入的 webhook 參數中解析 CallSid,例如:


@RestController

@RequestMapping(value = "/twilio", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)

public class TwilioCallbackController {

? @PostMapping

? public String handleCallback(TwilioWebhook request) {

? ? ?log.info("received callback for callId {}", request.getCallSid())?

? ? ?// rest of the controller.

? }

}

您可以通過添加到類來解析所有參數TwilioWebhook。您可以在Twilio 語音請求文檔中看到 Twilio 將發送的所有參數。不過,Twilio SDK 中沒有一個類可以為您執行此操作。


查看完整回答
反對 回復 2023-06-14
  • 1 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號