gpt4 book ai didi

java - 将 Xml 请求转换为 Spring Boot 对象

转载 作者:太空宇宙 更新时间:2023-11-04 11:16:59 27 4
gpt4 key购买 nike

创建了一个 Spring Boot Rest 服务,它接受 XML 作为请求并将其转换为对象,然后将其插入数据库。我使用 Jackson 数据格式依赖项直接将 xml 请求转换为对象,但出现错误。

Controller 类如下

@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>

收到不支持的媒体类型异常。

谁能指出如何解决这个问题

最佳答案

您的 Post 请求将具有一个“内容类型”,它需要与您的请求映射的“consume”参数相匹配。

对于 XML,有两种类型“application/xml”和“text/xml”,最好同时接受这两种类型(MediaType.APPLICATION_XML_VALUEMediaType.TEXT_XML_VALUE)。

此外,您还有:products = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE} 这是您的返回类型,您只需要在实际返回某些内容时定义它,因为只设置状态代码,那么应该将其删除。

关于java - 将 Xml 请求转换为 Spring Boot 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45348803/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com