发送带有 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。
两个问题:-
要在 JSON 中获得响应,我们必须使用 URL 以 .json 结尾,同样可以通过设置 "Accept=application/json" header。使用 URL 方法的任何具体原因?
为什么 JSON 请求不受支持?
application/json
application/x-www-form-urlencoded
感谢伊姆兰的提问,
你第一个问题的答案是,twilio先来定义了api,我们为了尽量兼容他们,采用了相同的api方法。我们可以说这不符合 rest/http
的核心原则,但可以说 Web 开发人员更容易使用 .json
而不是使用 headers,但这是另一场争论。我希望我已经涵盖了 使用 URL 方法的原因 。
对于第二个问题,支持json请求是有意义的。 (您想为此打开一个 github 问题吗,您是否有兴趣对此做出贡献。)
我尝试使用 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。
两个问题:-
要在 JSON 中获得响应,我们必须使用 URL 以 .json 结尾,同样可以通过设置 "Accept=application/json" header。使用 URL 方法的任何具体原因?
为什么 JSON 请求不受支持?
application/json
application/x-www-form-urlencoded
感谢伊姆兰的提问,
你第一个问题的答案是,twilio先来定义了api,我们为了尽量兼容他们,采用了相同的api方法。我们可以说这不符合
rest/http
的核心原则,但可以说 Web 开发人员更容易使用.json
而不是使用 headers,但这是另一场争论。我希望我已经涵盖了 使用 URL 方法的原因 。对于第二个问题,支持json请求是有意义的。 (您想为此打开一个 github 问题吗,您是否有兴趣对此做出贡献。)