如何配置适当的转换器来弹簧MVC控制器方法?

时间:2016-05-31 10:55:20

标签: java json spring spring-mvc

我试着理解spring MVC的消息转换器。 当我将json相关的依赖项添加到类路径中,并将@ResponseBody注释添加到控制器方法时,我得到了json响应,

然后我将xml相关的依赖项添加到classpath中,得到了预期的xml响应。

但是在将所有上面的依赖项添加到类路径中后,我想用json格式创建一个http调用响应,并且用xml格式创建另一个响应。

应该做什么?

2 个答案:

答案 0 :(得分:0)

在决定采用哪种数据格式时,spring会考虑"接受" -Header。

因此,如果您对其中一个spring方法进行HTTP调用,并且标题中包含Accept: application/json,那么spring应该使用JSON响应进行响应。使用Accept: application/xmlAccept: text/xml进行XML响应。

答案 1 :(得分:0)

基本上其中一个选项是Accept Header,但是spring有一个内置的机制来处理像Content negotiation这样的需求,你可以配置你自己的配置或使用标准的spring配置,查看此文章以获取更多信息:https://spring.io/blog/2013/05/11/content-negotiation-using-spring-mvc