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

时间:2012-12-13 12:34:14

标签: java json rest

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

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

带有@XmlRootElement注释的其他POJO类歌手

和HTML页面包含一个表单textarea命名“歌曲”  并提交botton和方法as =“post”

和web.xml为

1 个答案:

答案 0 :(得分:3)

当您通过浏览器中打开的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){
.
.