json - 如何在 Spring Data Rest 中使用内容协商?

标签 json spring-boot spring-data-rest restful-url content-negotiation

我正在尝试通过 Rest Api 以不同的格式(xml、json、rdf、jsonld)公开我的数据,并且我正在使用 Spring-Data-Rest-Framework,并且我知道可以在 Controller 中使用 @RequestMapping,但在 Spring Data Rest 中,我只有一个实体和一个使用 @RepositoryRestResource 表示法的存储库,不支持 @RequestMapping 表示法。

有人可以向我解释如何使用 Spring Data Rest 以不同格式公开数据吗?

我想指定 URL 末尾的格式,例如(?format=json 或 ?format=xml)

最佳答案

http://docs.spring.io/spring-data/rest/docs/current/reference/html/#representations.mapping

Currently, only JSON representations are supported. Other representation types can be supported in the future by adding an appropriate converter and updating the controller methods with the appropriate content-type.

您必须为 XML 或其他类型构建自己的转换器。定义内容类型的标准方法是在 Accept header 中。如果您想使用覆盖,则需要添加过滤器来读取查询参数并设置 header 。

关于json - 如何在 Spring Data Rest 中使用内容协商?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39318010/

相关文章:

json - 如何在 Node.js 中记录 JSON 对象的内容?

spring-boot - 编写测试来验证 jms 监听器中收到的消息(Spring-Boot)

spring - 为什么没有自动为 Spring Data REST 项目资源应用摘录投影?

java - Spring Data Rest - 关联资源自链接

android - 我的项目中的 Json 解析错误

java - json包与jdk 1.4不兼容

spring-boot - 来自 Gradle 任务的 HTTP 发布 - Groovy

java - 有没有办法在不使用 Spring-MVC 的情况下使用 spring-data-rest 编写一个 rest Controller 来上传文件?

c# - 如何使用 ASP.NET Core 2.0 和 newtonsoft.json

spring - 自定义 Spring 初始化