我试着理解spring MVC的消息转换器。 当我将json相关的依赖项添加到类路径中,并将@ResponseBody注释添加到控制器方法时,我得到了json响应,
然后我将xml相关的依赖项添加到classpath中,得到了预期的xml响应。
但是在将所有上面的依赖项添加到类路径中后,我想用json格式创建一个http调用响应,并且用xml格式创建另一个响应。
应该做什么?
答案 0 :(得分:0)
在决定采用哪种数据格式时,spring会考虑"接受" -Header。
因此,如果您对其中一个spring方法进行HTTP调用,并且标题中包含Accept: application/json
,那么spring应该使用JSON响应进行响应。使用Accept: application/xml
或Accept: text/xml
进行XML响应。
答案 1 :(得分:0)
基本上其中一个选项是Accept
Header,但是spring有一个内置的机制来处理像Content negotiation
这样的需求,你可以配置你自己的配置或使用标准的spring配置,查看此文章以获取更多信息:https://spring.io/blog/2013/05/11/content-negotiation-using-spring-mvc