如何访问通过Twilio发送到我的Spring Boot Controller的SMS文本?

特雷奥:

我试图使用Twilio接收SMS消息,并使用SMS的正文执行各种数据库功能。卡住的部分是解析当他们收到文本消息时从Twilio获得的消息。

这是控制器:

@RequestMapping(
    value = "/incomingSMS",
    method = RequestMethod.POST)
public void getPhrase(@RequestBody String request) {
    System.out.println("***********************************");
    System.out.println(request);
    System.out.println("***********************************");
}

这是打印出来的内容(增加了新行以提高可读性,并检查了一些数字):

ToCountry=US&
ToState=statecode&
SmsMessageSid=smsMessageSid&
NumMedia=0&
ToCity=city&
FromZip=zipCode&
SmsSid=SmsSid&
FromState=statecode&
SmsStatus=received&
FromCity=city&
Body=Hello+it%27s+John+&
FromCountry=US&
To=%2B1toPhoneNumber&
ToZip=55401&
NumSegments=1&
MessageSid=messageSid&
AccountSid=accountSid&
From=%2B1fromPhoneNumber&
ApiVersion=2010-04-01

我可以在“正文”中看到我的消息正在隐藏。我也看到电话号码。有什么方法可以将其解析为我不知道的Twilio对象,因此可以使用类似的方法getBody(), getFrom()

乔凡尼·利马:

您可以使用旧的java.util.Properties类轻松地对其进行操作。

对于下面的示例,我正在使用Apache Common IO lib将类转换StringInputStream女巫Properties之后,您所要做的就是使用getProperty方法获得所需的东西。

package com.pipocandobits.maven;

import org.apache.commons.io.IOUtils;

import java.io.IOException;
import java.util.Properties;

public class App {
    public static void main( String[] args ) throws IOException {
        System.out.println( "Hello World!" );

        String source = "ToCountry=US&\n" +
                "ToState=statecode&\n" +
                "SmsMessageSid=smsMessageSid&\n" +
                "NumMedia=0&\n" +
                "ToCity=city&\n" +
                "FromZip=zipCode&\n" +
                "SmsSid=SmsSid&\n" +
                "FromState=statecode&\n" +
                "SmsStatus=received&\n" +
                "FromCity=city&\n" +
                "Body=Hello+it%27s+John+&\n" +
                "FromCountry=US&\n" +
                "To=%2B1toPhoneNumber&\n" +
                "ToZip=55401&\n" +
                "NumSegments=1&\n" +
                "MessageSid=messageSid&\n" +
                "AccountSid=accountSid&\n" +
                "From=%2B1fromPhoneNumber&\n" +
                "ApiVersion=2010-04-01";

        Properties properties = new Properties();
        properties.load(IOUtils.toInputStream(source, "UTF-8"));

        System.out.println("Message body = " + properties.getProperty("Body"));
    }
}

有关如何使用java.util.Properties该类的更多信息,请检查此链接https://www.tutorialspoint.com/java/java_properties_class.htm

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过GELF将Spring Boot访问日志发送到远程服务器?

Twilio SMS消息未发送到我的印度手机号码

如何通过Twilio功能将SMS发送到多个号码?

您如何告诉Spring Boot将嵌入式Tomcat的访问日志发送到stdout?

如何访问Angular发送到Spring Boot后端的嵌套结构的JSON对象?

如何将多个参数作为单个实体从jquery发送到我的Controller?

如何正确地将地图从角度客户端发送到请求主体中的spring boot controller?收到的地图始终为空

不会将我的值从按钮和文本发送到我的js文件中

将RequestParam发送到Axios中的Spring Boot Server

使用Spring Boot将消息发送到JMS队列

使用Axios将文件发送到Spring Boot REST

将数据从arduino发送到Spring Boot Java

Spring Boot:如何正确地将错误日志发送到GCP上的Stackdriver

Spring Boot MVC如何将文件发送到浏览器/用户

如何将数据从thymeleaf HTML页面发送到MVC Spring Boot控制器?

如何将Multipart文件和json数据发送到Spring Boot

如何将数据从React客户端应用发送到Spring Boot后端应用?

Spring Boot Controller内容协商

Spring Boot @RestController 和 @Controller

Spring Boot,Thymeleaf和@Controller

Spring Boot Controller检索UserDetails

如何通过带有React Native的Twilio发送文本消息(SMS)?

在android中,我可以从Mozilla将选定的文本发送到我的应用程序吗?

如何从Spring Boot @Controller返回json / xml?

如何按照HTML通过Selenium和Python将文本发送到文本区域

一个Spring Boot微服务如何知道如何将POST发送到另一服务?

如何将Spring Boot管理客户端元数据发送到管理服务器

如何将Angular HTML表单输入发送到Spring Boot Rest Web控制器

如何将带有角度的 formData 与文件一起发送到 Spring Boot 后端