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

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

為什么我的 Twilio 電話號碼在收到狀態代碼:200 時也不會回復短信?

為什么我的 Twilio 電話號碼在收到狀態代碼:200 時也不會回復短信?

MMTTMM 2022-08-17 17:24:24
要注意:當你看到我展示代碼的地方時,它只是意味著我試圖不透露太多。postmapping-url-hereMyOwnDefinedEntity所以我用來發送和接收短信。我已經在這個問題上卡了大約3天,我似乎不知道如何解決它。Twilio我用作應用程序框架、生成工具和 IDE。我還使用創建一個隧道來運行。Spring BootGradleVSCodeNgroklocalhost:8080當我將其作為:public static void main(String[] args) {}它工作得很好,我的號碼發回了一條短信作為回應。Twilio但是,當我將其放在自己的函數中,調用該函數,并使用整個應用程序運行它時,我仍然會從它作為方法工作時獲得相同的狀態代碼,但我的號碼不會給我回短信。200mainTwilio我已經嘗試過使用,并且我已經嘗試過同時測試它和.@PostMapping@GetMappingPOSTGET在我從站點發送和接收代碼中,我嘗試使用 和 作為響應類型。Twilioapplication/xmlapplication/json以下是我到目前為止的一些代碼:public static void TwilioRespondToSMS() {        get("/", (req, res) -> "");        post("/<postmapping-url-here>", (req, res) -> {            res.type("application/xml");            Body body = new Body                    .Builder("This is a response to your text message")                    .build();            Message sms = new Message                    .Builder()                    .body(body)                    .build();            MessagingResponse twiml = new MessagingResponse                    .Builder()                    .message(sms)                    .build();            return twiml.toXml();        });                }這是代碼:main@SpringBootApplicationpublic class ApplicationServerClass {    public static void main(String[] args) {        SpringApplication.run(ApplicationServerClass.class, args);        //TwilioRespondToSMS();    }    // Whatever other code ...}我還嘗試將我的函數放入:@Bean    public CommandLineRunner commandRunner() {        return (args) -> {            TwilioRespondToSMS();            // Whatever other code ...        }    }Twilio網站的例子將其顯示為一個函數。在對整個應用程序運行該示例時,是否需要更改該示例?main提前致謝。
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

好吧,經過4天試圖解決我的問題,我終于能夠自己想出一個解決方案。


我想也許這只是一個愚蠢的錯誤,直到現在我才注意到,但我覺得這個解決方案并不容易想出。所以我要分享一下我是怎么想到這個的。


在將函數中的 URL 映射到自定義方法之前,我實際上獲得了狀態代碼,因為它無法識別任何要映射到的請求 URL。post@PostMapping404POST


我認為正確的解決方案是使用 定制的 ,但這只會導致我使用相同的端口:作為運行我的應用程序的端口。這就是為什么我沒有收到來自我的Twilio號碼的任何短信,即使我得到的狀態代碼為。@PostMappingJava Spark8080Spring Boot200


因此,以下是我為解決問題所做的工作:


首先,我刪除了我的自定義函數@PostMapping


@PostMapping("/<postmapping-url-here>")

    public ResponseEntity<MyOwnDefinedEntity> getMyOwnDefinedEntity(@PathVariable Long id) {

        log.debug("REST request to get MyOwnDefinedEntity : {}", id);

        Optional<MyOwnDefinedEntity> myOwnDefinedEntity = myOwnDefinedEntityRepository.findById(id);

        //if(myOwnDefinedEntity.isPresent())

        return new ResponseEntity<MyOwnDefinedEntity>(MyOwnDefinedEntity.get(), HttpStatus.OK);

    }

我把我的功能保留在:


@Bean

    public CommandLineRunner commandRunner() {

        return (args) -> {

            TwilioRespondToSMS();

            // Whatever other code ...

        }

    }

最后,在我的里面,我添加了:,或任何其他不是的端口號。TwilioRespondToSMS()port(8070);8080


在本例中,現在通過隧道 URL 使用,并且正在使用 。在這一點上,我終于能夠在同時運行的同時成功地從我的號碼中取回回復短信。Java Spark8070NgrokSpring Boot8080TwilioSpring Boot


查看完整回答
反對 回復 2022-08-17
  • 1 回答
  • 0 關注
  • 470 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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