创建了一个spring boot rest服务,它接受XML作为请求并将其转换为object,然后将其插入到数据库中。 我使用Jackson dataformat依赖项直接将xml请求转换为对象,但却出错。
控制器类如下
@RequestMapping(value = "/getRequestData",method=RequestMethod.POST,
produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE},consumes={MediaType.APPLICATION_XML_VALUE})
public ResponseEntity<?> putDataIntoDatabase(@RequestBody FirstRequestorBean bean) {
logger.info(bean.getId());
return new ResponseEntity<String>(HttpStatus.OK);
}
和bean类
public class FirstRequestorBean {
private String name;
private String id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
这里传递的xml是
<?xml version="1.0" encoding="UTF-8"?>
<FirstRequestorBean>
<name>Akhil</name>
<id>1</id>
</FirstRequestorBean>
获取不受支持的媒体类型例外。
有人可以指出如何解决问题
答案 0 :(得分:0)
您的帖子请求将包含&#34;内容类型&#34;需要匹配&#34;消费&#34;请求映射的参数。
对于XML,有两种类型&#34; application / xml&#34;和&#34; text / xml&#34;最好同时接受(MediaType.APPLICATION_XML_VALUE
&amp; MediaType.TEXT_XML_VALUE
)。
另外你有:
produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE}
这是你的返回类型,你只需要在实际返回一些内容时定义它,看到只是设置状态代码然后应该删除它。
答案 1 :(得分:-1)