当前位置: 首页 > 知识库问答 >
问题:

使用JAX-RS通过formParam将JSON发布到RESTful会导致“不支持的媒体类型”

袁文景
2023-03-14

我通过文本区域中的HTML页面将JSON对象发布到RESTful服务,即在RESTful POST服务中使用FormParam。我对POJO类“@xmlroolement”使用了所有必需的注释,@Consumes和@products值为“APPLICATION\u JSON”

webservice将@FormParam中的参数作为字符串数据类型并返回字符串

其他带有@XmlRootElement注释的Singer的POJO类

超文本标记语言页面包含一个命名为“歌曲”的表单文本区域和一个提交按钮和方法as="post"

和web。xml组件

共有1个答案

楚茂实
2023-03-14

当您通过在浏览器中打开的超文本标记语言文件/页面执行HTTP POST时,内容类型是url编码的。所以@消费注释应该如下所示:

import javax.ws.rs.Consumes;
import javax.ws.rs.FormParam;
import javax.ws.rs.POST;
import javax.ws.rs.core.MediaType;
import org.codehaus.jettison.json.JSONObject;
.
.
.
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    public String postData(@FormParam("textAreaName") JSONObject jsono){
.
.
 类似资料:
  • 我在泽西岛有一个Rest服务,我正在使用邮递员实现 我在邮递员中得到以下错误:

  • 我正在使用JAX RS 2创建Rest客户端。客户端可以工作,但只有在我的IDE(IntellIJ IDEA)中,当我用Maven构建它时,使用Maven汇编插件并运行jar,它就不再工作了。 我收到的MessageBodyWriter找不到媒体类型=应用程序/json错误。 我尝试过添加其他帖子中建议的更多依赖项,但我不认为依赖项是一个问题,因为它在IDE中运行。 下面是引发异常的代码 调试后,

  • 问题内容: 我正在尝试通过JAX-RS Web服务发送JSON对象。我的文件web.xml是: 为我要发送的对象建模的类是: 根类资源是: 现在,当我尝试访问该服务时,将浏览器指向以下链接 我得到以下错误: 消息org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException:找不到针对媒体类型= applicat

  • 问题内容: 我正在使用JSON请求调用REST服务,并且它以错误响应。 请求内容类型设置为。 如果我在请求中不包含JSON对象,则效果很好。我正在使用JSON库。 我尝试使用几个不同的库,但这没什么区别。 有人可以帮我解决这个问题吗? 这是我的代码: 的值为: 问题答案: 不确定原因,但是从中 删除行解决了该问题。

  • 我用JSON请求调用REST服务,它用HTTP 415“不支持的媒体类型”错误进行响应。 请求内容类型设置为。 如果我在请求中不包含JSON对象,它就可以正常工作。我正在使用JSON库。 我试着使用了几个不同的库,但没有什么不同。 有人能帮我解决这个问题吗? 这是我的代码: 是: