发送带有 RestComm-Connect 问题的短信

Send SMS with RestComm-Connect Issue

我尝试使用 restcomm http api 发送 SMS,当使用 Media_Type="application/x-www-form-urlencoded" 从 SOAPUI 发送时成功。

但是在尝试使用 "application/json" 时它会抛出以下错误

01:00:22,439 SEVERE [com.sun.jersey.spi.container.ContainerRequest] (http-/127.0.0.1:8080-1) A message body reader for Java class javax.ws.rs.core.MultivaluedMap, and Java type javax.ws.rs.core.MultivaluedMap<java.lang.String, java.lang.String>, and MIME media type application/json was not found.

The registered message body readers compatible with the MIME media type are:
*/* ->
  com.sun.jersey.core.impl.provider.entity.FormProvider
  com.sun.jersey.core.impl.provider.entity.MimeMultipartProvider
  com.sun.jersey.core.impl.provider.entity.StringProvider
  com.sun.jersey.core.impl.provider.entity.ByteArrayProvider
  com.sun.jersey.core.impl.provider.entity.FileProvider
  com.sun.jersey.core.impl.provider.entity.InputStreamProvider
  com.sun.jersey.core.impl.provider.entity.DataSourceProvider
  com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General
  com.sun.jersey.core.impl.provider.entity.ReaderProvider
  com.sun.jersey.core.impl.provider.entity.DocumentProvider
  com.sun.jersey.core.impl.provider.entity.SourceProvider$StreamSourceReader
  com.sun.jersey.core.impl.provider.entity.SourceProvider$SAXSourceReader
  com.sun.jersey.core.impl.provider.entity.SourceProvider$DOMSourceReader
  com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$General
  com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General
  com.sun.jersey.core.impl.provider.entity.XMLRootObjectProvider$General
  com.sun.jersey.core.impl.provider.entity.EntityHolderReader

从文档来看,似乎只有 Response 可以是 XML 或 JSON。

两个问题:-

  1. 要在 JSON 中获得响应,我们必须使用 URL 以 .json 结尾,同样可以通过设置 "Accept=application/json" header。使用 URL 方法的任何具体原因?

  2. 为什么 JSON 请求不受支持?

    • application/json

    • application/x-www-form-urlencoded

感谢伊姆兰的提问,

  • 你第一个问题的答案是,twilio先来定义了api,我们为了尽量兼容他们,采用了相同的api方法。我们可以说这不符合 rest/http 的核心原则,但可以说 Web 开发人员更容易使用 .json 而不是使用 headers,但这是另一场争论。我希望我已经涵盖了 使用 URL 方法的原因

  • 对于第二个问题,支持json请求是有意义的。 (您想为此打开一个 github 问题吗,您是否有兴趣对此做出贡献。)