jersey RESTfull api中不支持的媒体类型
我试图使用Jersey库构建一个RESTfull API,但它给了我一个例外。 这是我的课程jersey RESTfull api中不支持的媒体类型,jersey,Jersey,我试图使用Jersey库构建一个RESTfull API,但它给了我一个例外。 这是我的课程 @XmlRootElement @XmlAccessorType(XmlAccessType.PUBLIC_成员) 公共类文档{ @xmlement(name=“field”) 公共字符串字段; @XmlValue 公共字符串内容; } @路径(“/update”) 公共类更新{ @职位 @路径(“/xml”) @使用(MediaType.APPLICATION_XML) @生成(MediaType.A
@XmlRootElement
@XmlAccessorType(XmlAccessType.PUBLIC_成员)
公共类文档{
@xmlement(name=“field”)
公共字符串字段;
@XmlValue
公共字符串内容;
}
@路径(“/update”)
公共类更新{
@职位
@路径(“/xml”)
@使用(MediaType.APPLICATION_XML)
@生成(MediaType.APPLICATION\u XML)
公共字符串createIndexXML(文档)
抛出异常{
System.out.println(docs.content);
返回“它工作”;
}
}
如果我尝试使用CURL检查它,它会抛出错误415不支持的媒体类型
curl-XPOST”http://localhost:8089/update/xml“-d'
标题
'
您需要将内容类型添加到请求头中。将-H“内容类型:应用程序/xml”添加到您的curl`调用中
我想您也会发现bean上的注释存在问题-但这是另一个问题…这应该可以:
curl -H "Content-Type: application/xml"
-X POST -d "<docs><field>title</field></docs>" "http://localhost:8089/update/xml"
curl-H“内容类型:应用程序/xml”
-X POST-d“标题”http://localhost:8089/update/xml"
您还应该尝试接受:application/xml
;请注意同时定义@生产
和@消费
!请参阅。我尝试了curl-H“Content-Type:text/xml”-X POST”,但仍然遇到同样的问题