我尝试使用restcomm http api发送短信,当发送时使用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。
两个问题: -
答案 0 :(得分:1)
感谢您的问题Imran,
回答你的第一个问题是,twilio首先定义了api,我们为了尝试与它们兼容,采用了相同的api方法。我们可以说它不是rest/http
的核心原则,但可以说网络开发人员更容易放置.json
而不是使用标题,但这是一个不同的辩论。我希望我已经涵盖使用网址方法的理由。
对于第二个问题,支持json请求是有意义的。 (你想为此打开一个github问题,你是否有兴趣为此做出贡献。)