Spring Boot 默认返回json 格式的数据,Rest Api 可以根据用户请求头的不同 ,返回不同的媒体类型的响应(JSON XML 等)在默认的情况下,Spring 会安装应用所定义的内容协商策略解析正确的内容 (用户可以根据指定 Accept 头信息来返回不同类型的信息) 当我们需要返回xml格式的数据的时候,我们需要使用以下方式来实现
REST 返回XML 格式数据的实现
- 在需要返回的bean 上面使用@XmlRootElement (name="") 这个name 代表这个xml 根节点的名称
@XmlRootElement(name = "user")
public class User {
private String name;
private int age;
}
2.在controller 中 对需要返回的接口的requsetMapper ()中添加 produces属性 并使其等于 不同的媒体类型(application/json;charset=UTF-8 或者 application/xml;charset=UTF-8)
@RequestMapping(value = "userInfo", method = RequestMethod.GET, produces = {"application/xml;charset=UTF-8"})
@ResponseBody
public ResponseEntity userInfoXml() {
User user = new User();
user.setName("sean");
user.setAge(22);
return new ResponseEntity(user, HttpStatus.OK);
}
@RequestMapping(value = "userInfo", method = RequestMethod.GET ,produces = {"application/json;charset=UTF-8"})
@ResponseBody
public ResponseEntity userInfo() {
User user = new User();
user.setName("sean");
user.setAge(22);
return new ResponseEntity(user, HttpStatus.OK);
}
根据请求头Accept 来访问 不同格式的Rest API 数据
当需要请求XML 格式数据的Rest API 的时候,只需要配置请求头 在请求头中添加Accept 并将value 设置为application/xml ,这样在请求的时候就会返回XML 数据,如果不设置的化,默认请求json 格式的数据

github url:springbootrestswagger
本文介绍了在Spring Boot中如何使Rest API根据请求头的Accept信息返回XML格式的数据。通过在需要返回的bean上添加@XmlRootElement注解,并在Controller的方法中设置produces属性为'application/xml;charset=UTF-8',可以实现XML响应。同时,当请求头的Accept字段设置为'application/xml'时,API将返回XML格式的数据,否则默认返回JSON。
1300

被折叠的 条评论
为什么被折叠?



