我可以在Spring Boot中使用MessageBodyReader吗?

时间:2016-08-18 14:06:40

标签: rest spring-boot

在早期使用JAX-RS创建REST服务的项目中,我使用自定义MessageBodyReader / MessageBodyWriter组合来处理发送到/来自我的服务的自定义格式。我所要做的就是创建自定义类并将其注册到REST App类。

我现在尝试使用Spring Boot(我第一次使用Spring Boot)做同样的事情,而我似乎无法弄清楚如何解决这个问题。我可以通过某种方式将自定义读取器/编写器类添加到SpringBoot REST服务中吗? SpringBoot中除了MessageBodyReader等之外还有其他一些机制可以处理这样的自定义格式吗?

非常感谢任何协助或指导...

2 个答案:

答案 0 :(得分:2)

Spring MVC doc描述了这一点。您可能希望创建一个HttpMessageConverter来指定它可以转换的内容类型。您可以查看MappingJackson2HttpMessageConverter以获取示例。

答案 1 :(得分:1)

Spring Boot只是一个引导框架。除了选择使用 Spring引导的REST框架之外,没有任何与之相关的REST。 Spring引导正式支持的两种框架选择是Spring MVC和Jersey(JAX-RS实现)。 MessageBodyReader是泽西岛组件。所以你需要使用Jersey作为REST框架。您可以查看Spring Boot project samples以了解如何开始使用Jersey。在Spring Boot documentation中还有一些关于它的文档。

根据我链接的示例设置应用后,您需要做的就是在register(YourReader.class)构造函数中调用ResourceConfig

如果你的目标是使用Spring MVC作为REST框架,我不确定MessageBodyReader等价物是什么。我并没有真正使用这个框架。