斯卡拉测试Web服务客户端的POST请求
问题描述:
因此,您可以找到here的Play文档给出了一个非常简单的GET调用示例,没有任何像auth头或参数。斯卡拉测试Web服务客户端的POST请求
有人能帮我弄清楚如何使用类似的策略来处理更复杂的事情,比如带有JSON数据的POST请求,并且需要身份和auth头文件?我现在无法正常工作。
我想知道如何使用ws来测试客户端来执行外部http请求。
感谢
答
这里是代码我的项目之一片段通过其API twilio发送短信:
class SmsServiceImpl @Inject()(config: Configuration, ws: WSClient) extends SmsService {
val twilloAccountSid = config.getString("twillo.accountSid").get
val twilloAuthToken = config.getString("twillo.authToken").get
val smsApiUrl = config.getString("twillo.apiBaseUrl").get + "/" +twilloAccountSid+"/Messages.json"
override def send(phone: String, message: String): Future[Unit] = {
val data = Map(
"To" -> Seq(phone),
"From" -> Seq(config.getString("twillo.fromPhone").get),
"Body" -> Seq(message)
)
val response: Future[WSResponse] = ws.url(smsApiUrl).withAuth(twilloAccountSid, twilloAuthToken, WSAuthScheme.BASIC).post(data)
response.map { response =>
response.status match {
case 201 => Unit
case _ => throw new SmsSendingException(s"Failed to send sms. Got https status: ${response.status}")
}
}
}
它与身份验证POST请求。
我也搜索了Play存储库寻找一些例子,但没有。 – Jeep87c