在早期使用JAX-RS创建REST服务的项目中,我使用自定义MessageBodyReader / MessageBodyWriter组合来处理发送到/来自我的服务的自定义格式。我所要做的就是创建自定义类并将其注册到REST App类。
我现在尝试使用Spring Boot(我第一次使用Spring Boot)做同样的事情,而我似乎无法弄清楚如何解决这个问题。我可以通过某种方式将自定义读取器/编写器类添加到SpringBoot REST服务中吗? SpringBoot中除了MessageBodyReader等之外还有其他一些机制可以处理这样的自定义格式吗?
非常感谢任何协助或指导...
答案 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
等价物是什么。我并没有真正使用这个框架。