【问题标题】:Posting JSON to RESTful through formParam with JAX-RS results in "Unsupported Media Type"使用 JAX-RS 通过 formParam 将 JSON 发布到 RESTful 会导致“不支持的媒体类型”
【发布时间】:2012-12-13 12:34:13
【问题描述】:

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

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

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

HTML 页面包含一个名为“song”的表单文本区域 和一个提交按钮和方法为=“post”

和 web.xml 一样

【问题讨论】:

    标签: java json rest


    【解决方案1】:

    当您通过在浏览器中打开的 HTML 文件/页面执行 HTTP POST 时,内容类型是 url 编码的。所以@Consumes 注解应该是这样的:

    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){
    .
    .
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多